# US 2019/0171848 A1 · Distributed data management and verification

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

- Number: US 2019/0171848 A1
- Document ID: US20190171848A1
- Status: Published application
- Kind: A1
- Application number: 16/210,082
- Filed: 2018-12-05
- Published: 2019-06-06
- Earliest claimed: 2017-12-05
- Assignees: The Guppy Group Inc.
- Applicants: The Guppy Group Inc.
- Inventors: Sanjib Kalita; Sujay Parekh
- Web page: https://patentgrep.com/patent/US20190171848A1

## CPC

- G06F 21/64: Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 16/245: Query processing
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 21/6245: {Protecting personal data, e.g. for financial or medical purposes}
- H04L 9/0637: {Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]}
- H04L 9/30: Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L 9/3239: {involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD}
- H04L 9/3242: {involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC}
- H04L 9/50: {using hash chains, e.g. blockchains or hash trees}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In response to a request by a data furnisher system to add data to that organized by a system, a data coordinating system resolves the identity of counterparties to whom the data is relevant. For each identified counterparty, the coordinating system identifies a corresponding counterparty system, and via communications between smart contracts comprised in the coordinating system, communicates the data provided by the data furnisher system. The counterparty reviews the data and either verifies that it is accurate or disputes the data. The counterparty's response is communicated through the data coordinating system via the relevant smart contracts to the data furnisher system. If the counterparty verified the data, the data coordinating system updates its database to reflect the data has been verified. If the counterparty disputed the data, the data furnisher and counterparty communicate to resolve the dispute. The data is marked as being disputed.

## Claims

### Claim 1

A method for data management, comprising:
receiving, by a first computing agent associated with a data furnisher system, data;
storing, by the first computing agent, the received data and an indication the data is unverified;
identifying, by a second computing agent associated with a data coordinating system, a person to whom the received data relates;
identifying, by the second computing agent associated with the data coordinating system, a third computing agent associated with a system for the identified person;
communicating, by the third computing agent associated with a system for the identified person, an indication data is available for review;
receiving, by the third computing agent associated with the system for the identified person, an indication the received data is verified;
storing, by the second computing agent associated with the data coordinating system, an indication the received data is verified; and
communicating to the first computing agent associated with the data furnisher system an indication the received data is verified.

### Claim 2 (depends on 1)

The method of claim 1, wherein the received data comprises a pointer to data stored on the data furnisher system.

### Claim 3 (depends on 1)

The method of claim 1, wherein communicating an indication data is available for review comprises communicating the data available for review.

### Claim 4 (depends on 1)

The method of claim 1, wherein communicating an indication data is available for review comprises communicating a pointer to the data available for review.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
receiving, by the third agent associated with the system for the identified person, the pointer to the data available for review;
retrieving, by the third agent associated with the system for the identified person, the data available for review using the pointer; and
communicating, by the third agent associated with the system for the identified person, the data available for review.

### Claim 6 (depends on 5)

The method of claim 5, wherein communicating the data available for review comprises communicating data encrypted using a public encryption key associated with the system for the identified person.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
in response to receiving an indication the received data is verified, communicating, by the third computing agent associated with the system for the identified person, to the first data agent associated with the data furnisher system, a message to change status of the data; and
communicating, by the first data agent associated with the data furnisher system, an indication the received data is verified to the third data agent.

### Claim 8 (depends on 1)

The method of claim 1,
wherein the received data comprises a hash of data and an identity of the person to whom the data relates, the identity of the person encrypted using a public key corresponding to a smart contract associated with a data coordinating system.

### Claim 9 (depends on 8)

The method of claim 8,
wherein identifying a person to whom the data relates comprises decrypting the received data using a private key corresponding to the smart contract associated with the data coordinating system.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
encrypting the received data with a public key associated with the system for the person to whom the data relates.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
receiving, by the third computing agent associated with a system for the identified person, an indication the received data is disputed;
communicating, by the third computing agent associated with a system for the identified person, to the second computing agent associated with the data coordinating system, an indication the received data is disputed;
storing, by the second computing agent associated with the data coordinating system, an indication the received data is disputed;
communicating, by the second computing agent associated with the data coordinating system, to the first computing agent associated with the first data furnisher system, an indication the received data is disputed; and
communicating, by the first computing agent associated with the first data furnisher system, to the first data furnisher system, an indication the received data is disputed.

### Claim 12 (depends on 11)

The method of claim 11, further comprising:
receiving, by the second computing agent associated with the data coordinating system, an indication a dispute regarding the received data is resolved;
receiving, by the second computing agent associated with the data coordinating system, revised data; and
storing, by the second computing agent associated with the data coordinating system, the revised data and an indication a dispute has been resolved.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
receiving, by the third computing agent associated with a system for the identified person, an indication the received data is not verified and is not disputed;
communicating, by the third computing agent associated with a system for the identified person, to the second computing agent associated with the data coordinating system, an indication the received data is not verified and is not disputed;
storing, by the second computing agent associated with the data coordinating system, an indication the received data is not verified and is not disputed;
communicating, by the second computing agent associated with the data coordinating system, to the first computing agent associated with the first data furnisher system, an indication the received data is not verified and is not disputed; and
communicating, by the first computing agent associated with the first data furnisher system, to the first data furnisher system, an indication the received data is not verified and is not disputed.

### Claim 14 (depends on 1)

The method of claim 1, further comprising:
identifying, by the second computing agent associated with the data coordinating system, stored data that matches a profile of data associated with a data requestor;
communicating, by the second computing agent associated with the data coordinating system, to the third computing agent associated with the system for the identified person, an identification of the data requestor and the stored data that matches a profile associated with the data requestor;
communicating, by the third computing agent to the system for the person to whom the data relates, an indication of the data requestor and the stored data that matches a profile of data associated with the data requestor;
receiving, by the third computing agent associated with the system for the identified person, an indication of whether to grant or deny access to the stored data to the data requestor;
communicating, by the third computing agent associated with the system for the identified person to the second computing agent, an indication of whether to grant or deny access to the stored data to the data requestor; and
storing, by the second computing agent associated with the data coordinating system, an indication of whether to grant or deny access to the stored data to the data requestor.

### Claim 15

A system for data management, comprising:
computing processor;
computing memory communicatively coupled with the computing processor, the computing memory having executable instructions stored thereon that upon execution cause the system to perform operations comprising:
receiving, by a first computing agent associated with a data furnisher system, data;
storing, by the first computing agent, the received data and an indication the data is unverified;
identifying, by a second computing agent associated with a data coordinating system, a person to whom the received data relates;
identifying, by the second computing agent associated with the data coordinating system, a third computing agent associated with a system for the identified person;
communicating, by the third computing agent associated with a system for the identified person, an indication data is available for review;
receiving, by the third computing agent associated with the system for the identified person, an indication the received data is verified;
storing, by the second computing agent associated with the data coordinating system, an indication the received data is verified; and
communicating to the first computing agent associated with the data furnisher system an indication the received data is verified.

### Claim 16 (depends on 15)

The system of claim 15, wherein communicating an indication data is available for review comprises communicating a pointer to the data available for review.

### Claim 17 (depends on 16)

The system of claim 16, the computing memory having executable instructions stored thereon that upon execution cause the system to perform operations further comprising:
receiving, by the third agent associated with the system for the identified person, the pointer to the data available for review;
retrieving, by the third agent associated with the system for the identified person, the data available for review using the pointer; and
communicating, by the third agent associated with the system for the identified person, the data available for review.

### Claim 18 (depends on 15)

The system of claim 15, the computing memory having executable instructions stored thereon that upon execution cause the system to perform operations further comprising:
in response to receiving an indication the received data is verified, communicating, by the third computing agent associated with the system for the identified person, to the first data agent associated with the data furnisher system, a message to change status of the data; and
communicating, by the first data agent associated with the data furnisher system, an indication the received data is verified to the third data agent.

### Claim 19 (depends on 15)

The system of claim 15, the computing memory having executable instructions stored thereon that upon execution cause the system to perform operations further comprising:
receiving, by the third computing agent associated with a system for the identified person, an indication the received data is disputed;
communicating, by the third computing agent associated with a system for the identified person, to the second computing agent associated with the data coordinating system, an indication the received data is disputed;
storing, by the second computing agent associated with the data coordinating system, an indication the received data is disputed;
communicating, by the second computing agent associated with the data coordinating system, to the first computing agent associated with the first data furnisher system, an indication the received data is disputed; and
communicating, by the first computing agent associated with the first data furnisher system, to the first data furnisher system, an indication the received data is disputed.

### Claim 20 (depends on 19)

The system of claim 19, the computing memory having executable instructions stored thereon that upon execution cause the system to perform operations further comprising:
receiving, by the second computing agent associated with the data coordinating system, an indication a dispute regarding the received data is resolved;
receiving, by the second computing agent associated with the data coordinating system, revised data; and
storing, by the second computing agent associated with the data coordinating system, the revised data and an indication a dispute has been resolved.

### Claim 21 (depends on 15)

The system of claim 15, the computing memory having executable instructions stored thereon that upon execution cause the system to perform operations further comprising:
receiving, by the third computing agent associated with a system for the identified person, an indication the received data is not verified and is not disputed;
communicating, by the third computing agent associated with a system for the identified person, to the second computing agent associated with the data coordinating system, an indication the received data is not verified and is not disputed;
storing, by the second computing agent associated with the data coordinating system, an indication the received data is not verified and is not disputed;
communicating, by the second computing agent associated with the data coordinating system, to the first computing agent associated with the first data furnisher system, an indication the received data is not verified and is not disputed; and
communicating, by the first computing agent associated with the first data furnisher system, to the first data furnisher system, an indication the received data is not verified and is not disputed.

### Claim 22 (depends on 15)

The system of claim 15, the computing memory having executable instructions stored thereon that upon execution cause the system to perform operations further comprising:
identifying, by the second computing agent associated with the data coordinating system, stored data that matches a profile of data associated with a data requestor;
communicating, by the second computing agent associated with the data coordinating system, to the third computing agent associated with the system for the identified person, an identification of the data requestor and the stored data that matches a profile associated with the data requestor;
communicating, by the third computing agent to the system for the person to whom the data relates, an indication of the data requestor and the stored data that matches a profile of data associated with the data requestor;
receiving, by the third computing agent associated with the system for the identified person, an indication of whether to grant or deny access to the stored data to the data requestor;
communicating, by the third computing agent associated with the system for the identified person to the second computing agent, an indication of whether to grant or deny access to the stored data to the data requestor; and
storing, by the second computing agent associated with the data coordinating system, an indication of whether to grant or deny access to the stored data to the data requestor.
