# US 2021/0241202 A1 · Tracking of equipment utilization via distributed ledger

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0241202 A1
- Document ID: US20210241202A1
- Status: Published application
- Kind: A1
- Application number: 17/164,178
- Filed: 2021-02-01
- Published: 2021-08-05
- Earliest claimed: 2020-01-31
- Inventors: Tomas Tichy; Michael Cromheecke
- Web page: https://patentgrep.com/patent/US20210241202A1

## CPC

- G06Q 10/06393: {Score-carding, benchmarking or key performance indicator [KPI] analysis}
- G06Q 20/02: involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
- G06Q 20/145: {Payments according to the detected use or quantity}
- G06Q 20/36: using electronic wallets or electronic money safes
- G06Q 20/401: {Transaction verification}
- G07C 3/02: Registering or indicating working or idle time only
- H04L 9/0643: {Hash functions, e.g. MD5, SHA, HMAC or f9 MAC}
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- G06Q 2220/00: Business processing using cryptography
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G07C: TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Systems and methods are provided for monitoring a client device. An agent is configured to monitor a dynamic, user-defined set of key performance indicators by periodically polling the client device and generate messages including an aggregate value for a key performance indicator over a predefined period of time, and an identifier associated with the client device. A transaction manager accepts messages from the agent, provides a confirmation message to the agent indicating receipt of each message, and records the messages in a distributed ledger.

## Claims

### Claim 1

A system comprising:
an agent configured to monitor a dynamic, user-defined set of key performance indicators by periodically polling a client device and generate messages including an aggregate value for a key performance indicator over a predefined period of time, and an identifier associated with the client device;
a transaction manager that accepts messages from the agent, provides a confirmation message to the agent indicating receipt of each message, and records the messages in a distributed ledger; and
the distributed ledger.

### Claim 2 (depends on 1)

The system of claim 1, the system comprising a user interface that allows a user to provide the set of commands for the agent, the transaction manager communicating the commands to the agent in response to accepting a message from the agent and recording a record representing each command of the set of commands in the distributed ledger.

### Claim 3 (depends on 1)

The system of claim 1, the distributed ledger includes a smart contract associated with the key performance indicator, the smart contract, in response to the transaction manager recording a value for the key performance indicator for the client device initiates one of an electronic fund transfer and a transfer of cryptocurrency is made from a user of the client device to an owner of the client device having an amount based on the value for the key performance indicator.

### Claim 4 (depends on 1)

The system of claim 1, wherein the agent stores messages locally until the confirmation message is received.

### Claim 5 (depends on 4)

The system of claim 4, wherein the agent generates messages periodically at a first interval until a predetermined storage limit is achieved, and generates messages periodically at a second interval after the predetermined storage limit is achieved, the agent generating respective representative values of the key performance indicator for subsets of a first set of messages generated periodically at the first interval, each representative parameter representing the key performance indicator for a time period equal to the second interval.

### Claim 6 (depends on 1)

The system of claim 1, wherein the agent generates a hash value for each message that can be used at the transaction manager to verify that the contents of the message have not been modified.

### Claim 7 (depends on 1)

The system of claim 1, wherein the agent communicates the message via one of a visual code and an alphanumeric code that is scanned by a device connected to a communications network.

### Claim 8 (depends on 1)

The system of claim 1, wherein the agent records the key performance indicator from the client machine as a record comprising a time slot index, representing an interval of time, and a value for the key performance indicator associated with the client device during that time interval, wherein the record representing each time slot index is provided from the agent to the transaction manager as a message.

### Claim 9 (depends on 8)

The system of claim 8, the agent storing a record representing a most recent time slot index in a portion of a memory that is not writable by an end user of the client device.

### Claim 10 (depends on 8)

The system of claim 8, wherein the agent compares a record associated with a current state of the client device to the stored record representing the most recent time slot index to determine if the client device has been active while the agent was inactive.

### Claim 11 (depends on 10)

The system of claim 10, wherein the agent generates a message for each of a set of time slot indices for which the agent was inactive during the intervals of time represented by the set of time slot indices, the message comprising an average value for the key performance indicator over the intervals of time represented by the set of time slot indices and an indication that the values for the key performance indicator are averaged values.

### Claim 12 (depends on 8)

The system of claim 8, wherein the transaction manager, in response to the passage of a threshold period of time in which no communication is received from the agent, records a record in the distributed ledger for each of a plurality of time slot indices representing the threshold period of time, each record indicating that the client device is offline.

### Claim 13

The system of 12, wherein the distributed ledger includes a smart contract associated with the key performance indicator, the smart contract, in response to the transaction manager recording a value for the key performance indicator for the client device for a given time slot index, searches the distributed ledger for other entries for the given time slot index and replaces any records in the distributed ledger for the given time slot index for which the client device was indicated as being offline.

### Claim 14

A method comprising:
receiving a value for a key performance indicator, representing an interval of time associated with a client device, at an agent associated with the client device;
recording the value for the key performance indicator as a record comprising a time slot index representing the interval of time and the value for the key performance indicator;
sending a message, comprising the value for the key performance indicator, the time slot index, and an identifier associated with the client device, to a transaction manager; and
recording the message on a distributed ledger.

### Claim 15 (depends on 14)

The method of claim 14, wherein recording the value for the key performance indicator as a record comprises storing the value for the value for the key performance indicator at the agent until a confirmation message associated with the record is received from the transaction manager.

### Claim 16 (depends on 14)

The method of claim 14, further comprising:
providing a command from the transaction manager to the agent; and
recording the command on the distributed ledger.

### Claim 17 (depends on 14)

The method of claim 14, further comprising:
storing a record representing a most recent time slot index in a portion of a memory that is not writable by an end user of the client device; and
comparing a record associated with a current state of the client device to the stored record to determine if the client device has been active while the agent was inactive.

### Claim 18 (depends on 14)

The method of claim 14, wherein sending the message comprises:
generating one of a visual code and an alphanumeric code representing the message at the agent;
scanning the one of the visual code and the alphanumeric code with a device connected to a communications network to provide the message to the device; and
transmitting the message from the device to the transaction manager via the communications network.

### Claim 19 (depends on 14)

The method of claim 14, further comprising executing a smart contract on the distributed ledger according to the value for the key performance indicator, such that one of an electronic fund transfer and a transfer of cryptocurrency is made from a user of the client device to an owner of the client device.

### Claim 20

A method comprising:
receiving a value for a key performance indicator, representing an interval of time associated with a client device, at an agent associated with the client device;
recording the value for the key performance indicator as a record comprising a current time slot index representing the interval of time and the value for the key performance indicator;
comparing the current time slot index to a stored time slot index representing a time slot for a last value for the key performance indicator received from the client device;
sending a message, comprising the value for the key performance indicator, the time slot index, an identifier associated with the client device, and an indication that the key performance indicator represents an actual value, to a transaction manager if the current time slot index has a value greater than the stored time slot index by one;
sending a set of messages, each comprising an average value for the key performance indicator over a series of time slots that includes the current time slot index, a time slot index representing one of the series of time slots, an identifier associated with the client device, and an indication that the key performance indicator represents an average value, to the transaction manager if the current time slot index has a value greater than the stored time slot index by more than one;
replacing the stored time slot index with the current time slot index; and
recording the message on a distributed ledger.
