# US 12,008,001 B2 · Overlap queries on a distributed database

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

- Number: US 12,008,001 B2
- Document ID: US12008001B2
- Status: Granted
- Kind: B2
- Application number: 17/804,434
- Filed: 2022-05-27
- Published: 2023-11-30
- Granted: 2024-06-11
- Earliest claimed: 2022-05-27
- Assignees: Snowflake Inc.
- Applicants: Snowflake Inc.
- Inventors: Matthew J. Glickman; Orestis Kostakis; Justin Langseth
- Web page: https://patentgrep.com/patent/US12008001B2

## CPC

- G06F 16/2455: Query execution
- G06F 16/24568: {Data stream processing; Continuous queries}
- G06F 16/244: {Grouping and aggregation}
- G06F 16/2456: {Join operations}
- G06F 16/24564: {Applying rules; Deductive queries}
- G06F 16/25: Integrating or interfacing systems involving database management systems
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Systems, methods, and machine-readable storage devices provide for identifying a user dataset on a distributed database. The system includes generating a similarity score dataset that indicates a similarity between the user dataset and a plurality of datasets of other users of the distributed database. The system generates a plurality of overlap queries that are configured to output overlap datasets between the user dataset and one or more of the plurality of datasets. The system further generates a results dataset by applying one or more of the plurality of overlap queries to a joined dataset comprising data from the user dataset and one of the plurality of datasets of other users on the distributed database.

## Claims

### Claim 1

A method comprising:
identifying a user dataset on a database system;
generating a similarity score dataset that indicates a similarity between the user dataset and a plurality of datasets of other users of the database system;
generating, using the one or more processors of the machine, a plurality of overlap queries that are configured to output overlap datasets between the user dataset and one or more of the plurality of datasets based on the similarity score dataset;
generating a results dataset in an automatic manner without input from a user by applying one or more of the plurality of overlap queries to a joined dataset comprising data fields from the user dataset and one of the plurality of datasets of the other users on the database system, the generating of the results dataset including identifying one or more solvable problems based on the plurality of overlap queries;
executing the one or more of the plurality of overlap queries for overlap analysis, the overlap analysis identifying one or more unresolved solvable problems based on the one or more solvable problems;
providing the results dataset comprising the one or more unresolved solvable problems to a computing device of the user; and
providing one or more recommended solutions to the one or more unresolved solvable problems on the computing device of the user.

### Claim 2 (depends on 1)

The method of claim 1, wherein each overlap query is generated based on non-matching data between the user dataset and a corresponding dataset of the plurality of datasets.

### Claim 3 (depends on 2)

The method of claim 2, wherein the non-matching data comprises non-matching columns between the user dataset and the corresponding dataset of the plurality of datasets.

### Claim 4 (depends on 2)

The method of claim 2, wherein generating the plurality of overlap queries comprises identifying, from an overlap query repository, an overlap query that is associated with the non-matching data.

### Claim 5 (depends on 4)

The method of claim 4, wherein the overlap query repository comprises rules that match the non-matching data to one or more overlap queries.

### Claim 6 (depends on 5)

The method of claim 5, wherein the rules are generated from a machine learning scheme configured to identify overlap queries of other database users.

### Claim 7 (depends on 1)

The method of claim 1, wherein each of the plurality of overlap queries comprises a join operation on the user dataset and a corresponding user dataset.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
extracting semantic names from schema of the user dataset and the plurality of datasets.

### Claim 9 (depends on 8)

The method of claim 8, wherein the similarity is generated using the semantic names of the user dataset and the semantic names extracted from the plurality of datasets.

### Claim 10 (depends on 9)

The method of claim 9, wherein the schema comprises a plurality of column names and extracting the semantic names categorizes each column name into a semantic category.

### Claim 11 (depends on 1)

The method of claim 1, wherein the similarity is generated using an intersection of datasets.

### Claim 12 (depends on 11)

The method of claim 11, wherein the similarity is generated using a Jaccard index comprising the intersection and union of the datasets.

### Claim 13 (depends on 1)

The method of claim 1, wherein the similarity is generated using cosine similarity.

### Claim 14 (depends on 1)

The method of claim 1, wherein the similarity is generated using a machine learning scheme that is trained on different datasets of the database system.

### Claim 15 (depends on 14)

The method of claim 14, wherein the machine learning scheme is a classifier neural network.

### Claim 16

A system comprising:
one or more hardware processors of a machine; and
at least one memory storing instructions that, when executed by the one or more hardware processors, cause the machine to perform operations comprising:
identifying a user dataset on a database system;
generating a similarity score dataset that indicates a similarity between the user dataset and a plurality of datasets of other users of the database system;
generating, using the one or more processors of the machine, a plurality of overlap queries that are configured to output overlap datasets between the user dataset and one or more of the plurality of datasets based on the similarity score dataset;
generating a results dataset in an automatic manner without input from a user by applying one or more of the plurality of overlap queries to a joined dataset comprising data fields from the user dataset and one of the plurality of datasets of the other users on the database system, the generating of the results dataset including identifying one or more solvable problems based on the plurality of overlap queries;
executing the one or more of the plurality of overlap queries for overlap analysis, the overlap analysis identifying one or more unresolved solvable problems based on the one or more solvable problems;
providing the results dataset comprising the one or more unresolved solvable problems to a computing device of the user; and
providing one or more recommended solutions to the one or more unresolved solvable problems on the computing device of the user.

### Claim 17 (depends on 16)

The system of claim 16, wherein each overlap query is generated based on non-matching data between the user dataset and a corresponding dataset of the plurality of datasets.

### Claim 18 (depends on 17)

The system of claim 17, wherein the non-matching data comprises non-matching columns between the user dataset and the corresponding dataset of the plurality of datasets.

### Claim 19 (depends on 17)

The system of claim 17, wherein generating the plurality of overlap queries comprises identifying, from an overlap query repository, an overlap query that is associated with the non-matching data.

### Claim 20 (depends on 19)

The system of claim 19, wherein the overlap query repository comprises rules that match the non-matching data to one or more overlap queries.

### Claim 21 (depends on 20)

The system of claim 20, wherein the rules are generated from a machine learning scheme configured to identify overlap queries of other database users.

### Claim 22 (depends on 16)

The system of claim 16, wherein each of the plurality of overlap queries comprises a join operation on the user dataset and a corresponding user dataset.

### Claim 23 (depends on 16)

The system of claim 16, the operations further comprising:
extracting semantic names from schema of the user dataset and the plurality of datasets.

### Claim 24 (depends on 23)

The system of claim 23, wherein the similarity is generated using the semantic names of the user dataset and the semantic names extracted from the plurality of datasets.

### Claim 25 (depends on 24)

The system of claim 24, wherein the schema comprises a plurality of column names and extracting the semantic names categorizes each column name into a semantic category.

### Claim 26

A machine-readable storage device comprising a non-transitory computer-readable medium embodying instructions that, when executed by a machine, cause the machine to perform operations comprising
identifying a user dataset on a database system;
generating a similarity score dataset that indicates a similarity between the user dataset and a plurality of datasets of other users of the database system;
generating, using the one or more processors of the machine, a plurality of overlap queries that are configured to output overlap datasets between the user dataset and one or more of the plurality of datasets based on the similarity score dataset;
generating a results dataset in an automatic manner without input from a user by applying one or more of the plurality of overlap queries to a joined dataset comprising data fields from the user dataset and one of the plurality of datasets of the other users on the database system, the generating of the results dataset including identifying one or more solvable problems based on the plurality of overlap queries;
executing the one or more of the plurality of overlap queries for overlap analysis, the overlap analysis identifying one or more unresolved solvable problems based on the one or more solvable problems;
providing the results dataset comprising the one or more unresolved solvable problems to a computing device of the user; and
providing one or more recommended solutions to the one or more unresolved solvable problems on the computing device of the user.

### Claim 27 (depends on 26)

The machine-readable storage device of claim 26, wherein each overlap query is generated based on non-matching data between the user dataset and a corresponding dataset of the plurality of datasets.

### Claim 28 (depends on 27)

The machine-readable storage device of claim 27, wherein the non-matching data comprises non-matching columns between the user dataset and the corresponding dataset of the plurality of datasets.

### Claim 29 (depends on 27)

The machine-readable storage device of claim 27, wherein generating the plurality of overlap queries comprises identifying, from an overlap query repository, an overlap query that is associated with the non-matching data.

### Claim 30 (depends on 29)

The machine-readable storage device of claim 29, wherein the overlap query repository comprises rules that match the non-matching data to one or more overlap queries.
