# US 2021/0240711 A1 · Decentralized aggregation and collection of data from multiple sources

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

- Number: US 2021/0240711 A1
- Document ID: US20210240711A1
- Status: Published application
- Kind: A1
- Application number: 16/777,991
- Filed: 2020-01-31
- Published: 2021-08-05
- Earliest claimed: 2020-01-31
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Andrew J. Coleman; John A. Reeve; Trevor C. Dolby; Matthew E. Golby-Kirk
- Web page: https://patentgrep.com/patent/US20210240711A1

## CPC

- G06F 16/24556: {Aggregation; Duplicate elimination}
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 16/2471: {Distributed queries}
- G06F 16/28: Databases characterised by their database models, e.g. relational or object models
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer system performs decentralized collection and aggregation of data. A plurality of requests for data are transmitted, by a data collection server, to a corresponding plurality of remote servers, wherein the plurality of remote server submit responses to the plurality of requests for data to a distributed data structure. The distributed data structure is accessed, by the data collection server, to retrieve the plurality of responses to the plurality of requests. The plurality of responses are aggregated, by the data collection server, into a message and the message is transmitted to an entity requesting data collection. Embodiments of the present invention further include a method and program product for performing decentralized collection and aggregation of data in substantially the same manner described above.

## Claims

### Claim 1

A computer-implemented method for decentralized collection and aggregation of data, the computer-implemented method comprising:
transmitting, by a data collection server, a plurality of requests for data to a corresponding plurality of remote servers, wherein the plurality of remote server submit responses to the plurality of requests for data to a distributed data structure;
accessing, by the data collection server, the distributed data structure to retrieve the plurality of responses to the plurality of requests; and
aggregating, by the data collection server, the plurality of responses into a message and transmitting the message to an entity requesting data collection.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the distributed data structure comprises a blockchain, and wherein the data collection server and the one or more remote servers are peers in a network that maintains the blockchain.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, further comprising:
creating, by the data collection server, a placeholder entry in the distributed data structure for each remote server of the plurality of remote servers; and
wherein the data collection server further transmits location information of each placeholder entry to the plurality of remote servers, and wherein the remote servers submit the responses to the request by updating the placeholder entry based on the location information.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, further comprising:
reading, by the data collection server, one or more entries of the distributed data structure to update an internal state of the data collection server in response to receiving an event message indicating that an entry has been added to the distributed data structure.

### Claim 5 (depends on 4)

The computer-implemented method of claim 4, wherein the data collection server is associated with an additional data collection server, and wherein the additional data collection server adds the entry to the distributed data structure.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the data collection server accesses the distributed data structure to receive the data in response to receiving an event message indicating that an entry has been updated in the distributed data structure.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the data collection server accesses the distributed data structure to receive the data in response to a predetermined amount of time elapsing since transmitting the plurality of requests.

### Claim 8

A computer system for decentralized collection and aggregation of data, the computer system comprising:
one or more computer processors;
one or more computer readable storage media;
program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the program instructions comprising instructions to:
transmit, by a data collection server, a plurality of requests for data to a corresponding plurality of remote servers, wherein the plurality of remote server submit responses to the plurality of requests for data to a distributed data structure;
access, by the data collection server, the distributed data structure to retrieve the plurality of responses to the plurality of requests; and
aggregate, by the data collection server, the plurality of responses into a message and transmit the message to an entity requesting data collection.

### Claim 9 (depends on 8)

The computer system of claim 8, wherein the distributed data structure comprises a blockchain, and wherein the data collection server and the one or more remote servers are peers in a network that maintains the blockchain.

### Claim 10 (depends on 8)

The computer system of claim 8, wherein the program instructions further comprise instructions to:
create, by the data collection server, a placeholder entry in the distributed data structure for each remote server of the plurality of remote servers; and
wherein the data collection server further transmits location information of each placeholder entry to the plurality of remote servers, and wherein the remote servers submit the responses to the request by updating the placeholder entry based on the location information.

### Claim 11 (depends on 8)

The computer system of claim 8, wherein the program instructions further comprise instructions to:
read, by the data collection server, one or more entries of the distributed data structure to update an internal state of the data collection server in response to receiving an event message indicating that an entry has been added to the distributed data structure.

### Claim 12 (depends on 11)

The computer system of claim 11, wherein the data collection server is associated with an additional data collection server, and wherein the additional data collection server adds the entry to the distributed data structure.

### Claim 13 (depends on 8)

The computer system of claim 8, wherein the data collection server accesses the distributed data structure to receive the data in response to receiving an event message indicating that an entry has been updated in the distributed data structure.

### Claim 14 (depends on 8)

The computer system of claim 8, wherein the data collection server accesses the distributed data structure to receive the data in response to a predetermined amount of time elapsing since transmitting the plurality of requests.

### Claim 15

A computer program product for decentralized collection and aggregation of data, the computer program product comprising one or more computer readable storage media collectively having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to:
transmit, by a data collection server, a plurality of requests for data to a corresponding plurality of remote servers, wherein the plurality of remote server submit responses to the plurality of requests for data to a distributed data structure;
access, by the data collection server, the distributed data structure to retrieve the plurality of responses to the plurality of requests; and
aggregate, by the data collection server, the plurality of responses into a message and transmit the message to an entity requesting data collection.

### Claim 16 (depends on 15)

The computer program product of claim 15, wherein the distributed data structure comprises a blockchain, and wherein the data collection server and the one or more remote servers are peers in a network that maintains the blockchain.

### Claim 17 (depends on 15)

The computer program product of claim 15, wherein the program instructions further cause the computer to:
create, by the data collection server, a placeholder entry in the distributed data structure for each remote server of the plurality of remote servers; and
wherein the data collection server further transmits location information of each placeholder entry to the plurality of remote servers, and wherein the remote servers submit the responses to the request by updating the placeholder entry based on the location information.

### Claim 18 (depends on 15)

The computer program product of claim 15, wherein the program instructions further cause the computer to:
read, by the data collection server, one or more entries of the distributed data structure to update an internal state of the data collection server in response to receiving an event message indicating that an entry has been added to the distributed data structure.

### Claim 19 (depends on 18)

The computer program product of claim 18, wherein the data collection server is associated with an additional data collection server, and wherein the additional data collection server adds the entry to the distributed data structure.

### Claim 20 (depends on 15)

The computer program product of claim 15, wherein the data collection server accesses the distributed data structure to receive the data in response to receiving an event message indicating that an entry has been updated in the distributed data structure.
