IP Library Granted Patent US 10,810,233
Granted Patent B2
US 10,810,233 · App. 15/844,311 · Granted Oct 20, 2020

Linking records between datasets to augment query results

Inventors: Kaushal Bansal (Pleasanton, CA); Venkata Muralidhar Tejomurtula (Danville, CA); Azeem Feroz (San Jose, CA); Dmytro Kashyn (Holliston, MA); Dmytro Kudriavtsev (Belmont, CA)
Assignee: salesforce.com, inc.
G06F16/285G06F16/2379G06F16/2471G06F16/25G06F16/9535
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,810,233
App. No.
15/844,311
Granted
Oct 20, 2020
Kind
B2
Abstract

A method for linking records from different datasets based on record similarities is described. The method includes ingesting a first dataset, including a first set of records with a first set of fields, wherein the first dataset is associated with a first vendor and a first type of data, and a second dataset, including a second set of records with a second set of fields, wherein the second dataset is associated with a second vendor and a second type of data; determining that a first record from the first set of records is similar to a second record from the second set of records based on similarities between fields in the first and second set of fields; and linking the first and second records in response to determining that the similarity, wherein the first and second vendors are different and/or the first and second types of data are different.

Claims (51)

1. A method for linking records from different datasets based on similarities of the records, wherein the method comprises:

ingesting, by a data as a service (DAAS) system, a first dataset including a first set of records with a first set of fields, wherein the first dataset is associated with a first vendor and a first type of data;

ingesting, by the DAAS system, a second dataset including a second set of records with a second set of fields, wherein the second dataset is associated with a second vendor and a second type of data;

determining, by the DAAS system, that a first record from the first set of records is similar to a second record from the second set of records based on similarities between fields in the first set of fields and fields in the second set of fields;

linking, by the DAAS system, the first record to the second record in response to determining that the first record is similar to the second record, wherein the first vendor is different than the second vendor and the first type of data is different than the second type of data such that at least one field in the first set of fields is not a field in the second set of fields or at least one field in the second set of fields is not a field in the first set of fields;

performing a query for a customer of the DAAS system to generate an initial query result, wherein the customer has access to the first and second datasets and the initial query result includes the first record; and

adding, following performance of the query, the second record to the initial query result to generate a final query result based on the link between the first record and the second record that indicates that the second record is similar to the first record.

2. The method of claim 1 , wherein determining that the first record is similar to the second record comprises:

generating one or more match keys for the first record based on one or more fields in the first set of fields; and

generating one or more match keys for the second record based on one or more fields in the second set of fields.

3. The method of claim 2 , wherein determining that the first record is similar to the second record further comprises:

determining that the one or more match keys for the first record are identical or within a threshold of the one or more match keys for the second record.

4. The method of claim 3 , further comprising:

making the final query result available to the customer.

5. The method of claim 4 , wherein the query is a match query that updates records previously provided to the customer.

6. The method of claim 4 , wherein the final query result indicates that the second record is a recommended record for the customer based on the link to the first record.

7. The method of claim 3 , wherein each match key in the one or more match keys for the first record is a combination of two or more fields in the first set of fields or a single field in the first set of fields and each match key in the one or more match keys for the second record is a combination of two or more fields in the second set of fields or a single field in the second set of fields.

8. The method of claim 1 , wherein the ingesting of the first dataset is based on first ingestion metadata that maps one or more fields in the first set of fields to a set of fields defined in the data as a service system, and

wherein the ingesting of the second dataset is based on second ingestion metadata that maps one or more fields in the second set of fields to the set of fields defined in the data as a service system.

9. A non-transitory machine readable medium that stores instructions that, when executed by a processor of an electronic device, cause the electronic device to:

ingest a first dataset including a first set of records with a first set of fields, wherein the first dataset is associated with a first vendor and a first type of data;

ingest a second dataset including a second set of records with a second set of fields, wherein the second dataset is associated with a second vendor and a second type of data;

determine that a first record from the first set of records is similar to a second record from the second set of records based on similarities between fields in the first set of fields and fields in the second set of fields;

link the first record to the second record in response to determining that the first record is similar to the second record, wherein the first vendor is different than the second vendor and the first type of data is different than the second type of data such that at least one field in the first set of fields is not a field in the second set of fields or at least one field in the second set of fields is not a field in the first set of fields;

perform a query for a customer of a data as a service system to generate an initial query result, wherein the customer has access to the first dataset and the second dataset and the initial query result includes the first record; and

add, following performance of the query, the second record to the initial query result to generate a final query result based on the link between the first record and the second record that indicates that the second record is similar to the first record.

10. The non-transitory machine readable medium of claim 9 , wherein determining that the first record is similar to the second record comprises:

generating one or more match keys for the first record based on one or more fields in the first set of fields; and

generating one or more match keys for the second record based on one or more fields in the second set of fields.

11. The non-transitory machine readable medium of claim 10 , wherein determining that the first record is similar to the second record further comprises:

determining that the one or more match keys for the first record are identical or within a threshold of the one or more match keys for the second record.

12. The non-transitory machine readable medium of claim 11 , wherein the instructions further cause the electronic device to:

make the final query result available to the customer.

13. The non-transitory machine readable medium of claim 12 , wherein the query is a match query that updates records previously provided to the customer.

14. The non-transitory machine readable medium of claim 12 , wherein the final query result indicates that the second record is a recommended record for the customer based on the link to the first record.

15. The non-transitory machine readable medium of claim 11 , wherein each match key in the one or more match keys for the first record is a combination of two or more fields in the first set of fields or a single field in the first set of fields and each match key in the one or more match keys for the second record is a combination of two or more fields in the second set of fields or a single field in the second set of fields.

16. The non-transitory machine readable medium of claim 9 , wherein the ingesting of the first dataset is based on first ingestion metadata that maps one or more fields in the first set of fields to a set of fields defined in a data as a service system, and

wherein the ingesting of the second dataset is based on second ingestion metadata that maps one or more fields in the second set of fields to the set of fields defined in the data as a service system.

17. A data as a service system for linking records from different datasets based on similarities of the records, wherein the data as a service system comprises:

a set of memory devices; and

a processor coupled to the set of memory devices, wherein the processor processes instructions stored in the set of memory devices to:

ingest a first dataset including a first set of records with a first set of fields, wherein the first dataset is associated with a first vendor and a first type of data and to ingest a second dataset including a second set of records with a second set of fields, wherein the second dataset is associated with a second vendor and a second type of data;

determine that a first record from the first set of records is similar to a second record from the second set of records based on similarities between fields in the first set of fields and fields in the second set of fields and to link the first record to the second record in response to determining that the first record is similar to the second record, wherein the first vendor is different than the second vendor and the first type of data is different than the second type of data such that at least one field in the first set of fields is not a field in the second set of fields or at least one field in the second set of fields is not a field in the first set of fields;

perform a query for a customer of the data as a service system to generate an initial query result, wherein the customer has access to the first dataset and the second dataset and the initial query result includes the first record; and

add, following performance of the query, the second record to the initial query result to generate a final query result based on the link between the first record and the second record that indicates that the second record is similar to the first record.

18. The data as a service system of claim 17 , wherein determining that the first record is similar to the second record comprises:

generating one or more match keys for the first record based on one or more fields in the first set of fields;

generating one or more match keys for the second record based on one or more fields in the second set of fields; and

determining that the one or more match keys for the first record are identical or within a threshold of the one or more match keys for the second record.

19. The data as a service system of claim 18 , wherein the processor further processes instructions stored in the set of memory devices to:

make the final query result available to the customer, wherein the final query result indicates that the second record is a recommended record for the customer based on the link to the first record.

Assignments (2)
CHANGE OF NAME Recorded Feb 17, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 062794/0656 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2017
From: BANSAL, KAUSHAL; TEJOMURTULA, VENKATA MURALIDHAR; FEROZ, AZEEM; KASHYN, DMYTRO; KUDRIAVTSEV, DMYTRO
To: SALESFORCE.COM, INC.
Reel/Frame 044499/0796 →
Cited By (4)
US 12,401,626 US 12,438,702 US 12,526,323 US 12,665,926