US20200074516A1 - Providing device, processing system, and communication method - Google Patents

Providing device, processing system, and communication method Download PDF

Info

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
Application number
US16/550,358
Other versions
US11276092B2 (en
Inventor
Hitoshi Yamakado
Tsuyoshi Kameda
Hiroyuki Kuramoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Assigned to SEIKO EPSON CORPORATION reassignment SEIKO EPSON CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: KAMEDA, TSUYOSHI, YAMAKADO, HITOSHI, KURAMOTO, HIROYUKI
Publication of US20200074516A1 publication Critical patent/US20200074516A1/en
Application granted granted Critical
Publication of US11276092B2 publication Critical patent/US11276092B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/14Payment architectures specially adapted for billing systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Commerce
    • G06Q30/04Billing or invoicing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/1219Reducing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Business 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

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.

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.
  • BACKGROUND 1. Technical Field
  • The present disclosure relates to a providing device, a processing system, and a communication method or the like.
  • 2. Related Art
  • 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.
  • SUMMARY
  • 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.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • 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.
  • DESCRIPTION OF EXEMPLARY EMBODIMENTS
  • 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.
  • 1. Outline
  • 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. As described in detail later with reference to FIG. 2, 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.
  • 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, 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. 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. 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 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. 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 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. However, the number of processing devices 200 and the number of electronic apparatuses 300 are not limited to this example. Also, while 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.
  • In the providing device 100 and the processing 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 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. Various 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. 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 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. As 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.
  • 2. Blockchain and Smart Contract
  • 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 providing device 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.
  • 3. Details of Processing
  • 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.
  • 3.1 Details of Smart Contract 3.1.1 Contract Management Contract
  • 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. 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 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. 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.
  • 3.1.2 Collection Contract
  • 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. Thus, 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). In this case, 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.
  • 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. When the electronic 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 the electronic 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 the electronic 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 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. However, the time for which a particular function of the electronic 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 designated electronic 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.
  • 3.1.3 Aggregation Contract
  • 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. 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, 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.
  • 3.1.4 Charging Contract
  • As described above, 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. 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.
  • 3.1.5 Invoicing Contract
  • 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. 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.
  • 3.1.6 Settlement Contract
  • 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 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.
  • 3.2 Specific Example of Blockchain
  • 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, 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.
  • 3.3 Details of Processing
  • 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 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. 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. 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. In the description below, it is assumed that the contract management contract executes each step in FIG. 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 providing device 100. However, 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.
  • 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 in FIG. 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 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. As this processing is started, 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 (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 the electronic 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 the electronic 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 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 S206. In the description below, it is assumed that each program written into the blockchain, based on a smart contract, executes each step in FIG. 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 in FIG. 8 may be executed by the providing device 100 or may be executed by another node such as the processing 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 of electronic apparatuses 300 to be aggregation targets, it is assumed that the aggregation processing is performed with respect to every electronic apparatus 300. Therefore, the processing of step S402 represents the aggregation processing for one of the electronic apparatuses 300 of collection targets. After step S402, the aggregation contract determines whether the aggregation processing is completed for all the electronic 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 the electronic 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 in FIG. 7, and the cut-off date processing shown in FIG. 8, 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.
  • 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.
  • 3.4 Modification Examples
  • 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 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. Alternatively, 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. 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)

What is claimed is:
1. A providing device comprising:
a communication circuit communicating with a network using a blockchain; and
a processor controlling the communication unit, wherein
the processor 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 circuit.
2. The providing device according to claim 1, wherein
the processor generates the transaction for registering, into the blockchain, a contract management program for managing contract account information to decide a charging content.
3. The providing device according to claim 1, wherein
the processor generates the transaction for registering, into the blockchain, a collection program for collecting status-of-use data of the electronic apparatus.
4. The providing device according to claim 2, wherein
the processor generates the transaction for registering, into the blockchain, a collection program for collecting status-of-use data of the electronic apparatus, and
the collection program is started according to a predetermined schedule by the contract management program.
5. The providing device according to claim 3, wherein
the processor generates the transaction for registering, into the blockchain, an aggregation program for aggregating the status-of-use data.
6. The providing device according to claim 4, wherein
the processor generates the transaction for registering, into the blockchain, an aggregation program for aggregating the status-of-use data, and
the aggregation program is started by the contract management program.
7. The providing device according to claim 5, wherein
the charging processing program is started by the aggregation program.
8. The providing device according to claim 3, wherein
the status-of-use data is amount-of-use information or time-of-use information of the electronic apparatus.
9. The providing device according to claim 1, wherein
the processor generates 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, and
the invoicing program is started by the charging processing program.
10. The providing device according to claim 1, wherein
the processor generates the transaction for registering the charging processing program as a smart contract into the blockchain.
11. A processing system comprising:
a providing device including a communication circuit that communicates with a network using a blockchain, and a processor that controls the communication circuit, wherein
the processor 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 circuit; and
a processing device coupled to the electronic apparatus and acquiring and executing the charging processing program registered in the blockchain and thus performing the charging processing according to the status of use of the electronic apparatus.
12. A processing system comprising:
the providing device according to claim 9; and
a processing device provided corresponding to the electronic apparatus, wherein
the processing device generates the transaction for registering, into the blockchain, a settlement program for making a settlement of an invoicing based on the invoicing program, and
the settlement program makes a settlement, using a cryptocurrency in the blockchain.
13. A communication method in a network using a blockchain, the method comprising:
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.
US16/550,358 2018-08-28 2019-08-26 Providing device, processing system, and communication method Active 2040-01-08 US11276092B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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