# US 12,182,161 B2 · System and method for using probabilistic data structure to synchronize data between a plurality of datasets

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

- Number: US 12,182,161 B2
- Document ID: US12182161B2
- Status: Granted
- Kind: B2
- Application number: 18/170,981
- Filed: 2023-02-17
- Published: 2024-08-22
- Granted: 2024-12-31
- Earliest claimed: 2023-02-17
- Assignees: Honeywell International Inc.
- Applicants: Honeywell International Inc.
- Inventors: Hamid Tarmazdi
- Web page: https://patentgrep.com/patent/US12182161B2

## CPC

- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F 11/3419: {by assessing time}
- G06F 16/152: {using file content signatures, e.g. hash values}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for synchronizing data between a plurality of datasets includes receiving a request to match a subject record in a first dataset with a corresponding record in a remote second dataset based on at least one synchronization criteria, dividing the second dataset into a plurality of chunks each comprising a predetermined number of records, generating a probabilistic data structure respectively associated with a first of the plurality of chunks and configured to determine whether the corresponding record is contained in the first of the plurality of chunks, determining within a predetermined level of accuracy that the corresponding record is present in the first of the plurality of chunks based on the probabilistic data structure, and causing one or more attributes of the subject record to be synchronized with one or more attributes of the corresponding record.

## Claims

### Claim 1

A method for synchronizing data between a plurality of datasets, the method comprising:
receiving, by at least one processor, a request to match a subject record in a first dataset with a corresponding record in a remote, second dataset based on at least one synchronization criteria;
dividing, by at least one processor, the second dataset into a plurality of chunks each comprising a predetermined number of records;
generating, by at least one processor, a probabilistic data structure respectively associated with a first of the plurality of chunks and configured to determine whether the corresponding record is contained in the first of the plurality of chunks, wherein said generating the probabilistic data structure associated with the first of the plurality of chunks comprises performing one or more hash functions on keys of records in the associated chunk to map the keys to a bit vector; and
determining, by at least one processor, within a predetermined level of accuracy, that the corresponding record is present in the first of the plurality of chunks based on the probabilistic data structure, wherein said determining that the corresponding record exists in the first of the plurality of chunks comprises performing a hash function on a key of the subject record; and
causing, by at least one processor, one or more attributes of the subject record to be synchronized with one or more attributes of the corresponding record based on existence of the corresponding record in the first of the plurality of chunks.

### Claim 2 (depends on 1)

The method of claim 1, wherein the probabilistic data structure comprises a Bloom filter.

### Claim 3 (depends on 1)

The method of claim 1, wherein the predetermined level of accuracy is at least 99%.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
generating, by at least one processor, a probabilistic data structure respectively associated with a second of the plurality of chunks and configured to determine whether the corresponding record is contained in the second of the plurality of chunks; and
determining, with at least one processor, that the corresponding record does not exist in the second of the plurality of chunks based on the probabilistic data structure.

### Claim 5 (depends on 1)

The method of claim 1, wherein each of the plurality of chunks is synchronizable independent of the other chunks.

### Claim 6 (depends on 1)

The method of claim 1, wherein the at least one synchronization criteria comprises one or more attributes that satisfy an equation for determining correlation between the subject record in the first dataset and the corresponding record in the second dataset.

### Claim 7

A system for synchronizing data between a plurality of datasets, the system comprising: at least one memory having processor-readable instructions stored therein; and at least one processor configured to access the memory and execute the processor-readable instructions, which when executed by the processor configure the processor to perform a plurality of functions, including functions for:
receiving, by at least one processor, a request to match a subject record in a first dataset with a corresponding record in a remote, second dataset based on at least one synchronization criteria;
dividing, by at least one processor, the second dataset into a plurality of chunks each comprising a predetermined number of records;
generating, by at least one processor, a probabilistic data structure respectively associated with a first of the plurality of chunks and configured to determine whether the corresponding record is contained in the first of the plurality of chunks, wherein the generating the probabilistic data structure associated with the first of the plurality of chunks comprises performing one or more hash functions on keys of records in the associated chunk to map the keys to a bit vector;
determining, by at least one processor, within a predetermined level of accuracy, that the corresponding record is present in the first of the plurality of chunks based on the probabilistic data structure, wherein determining that the corresponding record exists in the first of the plurality of chunks comprises performing a hash function on a key of the subject record; and
causing, by at least one processor, one or more attributes of the subject record to be synchronized with one or more attributes of the corresponding record based on existence of the corresponding record in the first of the plurality of chunks.

### Claim 8 (depends on 7)

The system of claim 7, wherein the probabilistic data structure comprises a Bloom filter.

### Claim 9 (depends on 7)

The system of claim 7, wherein the predetermined level of accuracy is at least 99%.

### Claim 10 (depends on 7)

The system of claim 7, wherein the plurality of functions further comprises:
generating, by at least one processor, a probabilistic data structure respectively associated with a second of the plurality of chunks and configured to determine whether the corresponding record is contained in the second of the plurality of chunks; and
determining, with at least one processor, that the corresponding record does not exist in the second of the plurality of chunks based on the probabilistic data structure.

### Claim 11 (depends on 7)

The system of claim 7, wherein each of the plurality of chunks is synchronizable independent of the other chunks.

### Claim 12 (depends on 7)

The system of claim 7, wherein the at least one synchronization criteria comprises one or more attributes that satisfy an equation for determining correlation between the subject record in the first dataset and the corresponding record in the second dataset.

### Claim 13

A non-transitory computer-readable medium containing instructions synchronizing data between a plurality of datasets, the non-transitory computer-readable medium storing instructions that, when executed by at least one processor, configure the at least one processor to perform:
receiving, by at least one processor, a request to match a subject record in a first dataset with a corresponding record in a remote, second dataset based on at least one synchronization criteria;
dividing, by at least one processor, the second dataset into a plurality of chunks each comprising a predetermined number of records;
generating, by at least one processor, a probabilistic data structure respectively associated with a first of the plurality of chunks and configured to determine whether the corresponding record is contained in the first of the plurality of chunks, wherein the generating the probabilistic data structure associated with the first of the plurality of chunks comprises performing one or more hash functions on keys of records in the associated chunk to map the keys to a bit vector;
determining, by at least one processor, within a predetermined level of accuracy, that the corresponding record is present in the first of the plurality of chunks based on the probabilistic data structure, wherein determining that the corresponding record exists in the first of the plurality of chunks comprises performing a hash function on a key of the subject record; and
causing, by at least one processor, one or more attributes of the subject record to be synchronized with one or more attributes of the corresponding record based on existence of the corresponding record in the first of the plurality of chunks.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium system of claim 13, wherein the probabilistic data structure comprises a Bloom filter.

### Claim 15 (depends on 13)

The non-transitory computer-readable medium system of claim 13, wherein the predetermined level of accuracy is at least 99%.

### Claim 16 (depends on 13)

The non-transitory computer-readable medium system of claim 13, wherein the instructions further configure the at least one processor to perform:
generating, by at least one processor, a probabilistic data structure respectively associated with a second of the plurality of chunks and configured to determine whether the corresponding record is contained in the second of the plurality of chunks; and
determining, with at least one processor, that the corresponding record does not exist in the second of the plurality of chunks based on the probabilistic data structure.

### Claim 17 (depends on 13)

The non-transitory computer-readable medium system of claim 13, wherein each of the plurality of chunks is synchronizable independent of the other chunks.
