IP Library Granted Patent US 10,235,476
Granted Patent B2
US 10,235,476 · App. 14/723,866 · Granted Mar 19, 2019

Matching objects using match rules and lookup key

Inventors: Parth Vijay Vaishnav (Cupertino, CA); Chenghung Ker (Burlingame, CA); Danil Dvinov (San Francisco, CA); David Hacker (Arlington, VA)
Assignee: salesforce.com, inc.
G06F17/30979G06F17/30303
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,235,476
App. No.
14/723,866
Granted
Mar 19, 2019
Kind
B2
Abstract

Some embodiments of the present invention include a method for identifying match candidates in a database object and may include generating, by a database system, a match key associated with a lookup field of a database object. The method may further include activating, by the database system, a matching rule associated with the match key, and receiving, by the database system, a request to search for duplicate candidates in the database object. The request may include an input entity. The duplicate candidates in the database object may be identified by using the input entity and the matching rule.

Claims (43)

1. A computer-implemented method comprising:

generating, by a database system, a match key associated with a lookup field of a database object and associated with another field of the database object;

activating, by the database system, a matching rule associated with the match key;

receiving, by the database system, a request to search for candidates in the database object that are duplicates, the request including a probe entity; and

identifying, by the database system, the duplicate candidates in the database object by:

creating a plurality of candidate keys by applying the match key to a corresponding plurality of candidates in the database object, and creating a probe key by applying the match key to the probe entity,

determining whether the probe key matches any of the plurality of candidate keys, and

determining, when the probe key matches any of the plurality of candidate keys, whether the probe entity matches any of the plurality of candidates corresponding to the matched candidate keys by applying the matching rule to the probe entity and to the candidates corresponding to the matched candidate keys.

2. The method of claim 1 , wherein the duplicate candidates in the database object are identified based on a lookup value associated with each of the duplicate candidates.

3. The method of claim 2 , wherein the duplicate candidates in the database object are identified based on a lookup key associated with each lookup value.

4. The method of claim 3 , wherein the duplicate candidates in the database object are identified based on a lookup key of each of the duplicate candidates and based on a field value of the probe entity.

5. The method of claim 4 , wherein the field value of the probe entity corresponds to the lookup field.

6. The method of claim 5 , wherein the other field of the database object comprises a non-lookup field of the database object.

7. The method of claim 6 , wherein the duplicate candidates in the database object are identified based the lookup field and the non-lookup field.

8. An apparatus for identifying duplicate candidates in a database object, the apparatus comprising:

a processor; and

one or more stored sequences of instructions which, when executed by the processor, cause the processor to:

generate a match key associated with a lookup field of a database object and associated with another field of the database object;

activate a matching rule associated with the match key;

receive a request to search for candidates in the database object that are duplicates, the request including a probe entity; and

identify the duplicate candidates in the database object by:

creating a plurality of candidate keys by applying the match key to a corresponding plurality of candidates in the database object, and creating a probe key by applying the match key to the probe entity,

determining whether the probe key matches any of the plurality of candidate keys, and

determining, when the probe key matches any of the plurality of candidate keys, whether the probe entity matches any of the plurality of candidates corresponding to the matched candidate keys by applying the matching rule to the probe entity and to the candidates corresponding to the matched candidate keys.

9. The apparatus of claim 8 , wherein the duplicate candidates in the database object are identified based on a lookup value associated with each of the duplicate candidates.

10. The apparatus of claim 9 , wherein the duplicate candidates in the database object are identified based on a lookup key associated with each lookup value.

11. The apparatus of claim 10 , wherein the duplicate candidates in the database object are identified based on a lookup key of each of the duplicate candidates and based on a field value of the probe entity.

12. The apparatus of claim 11 , wherein the field value of the probe entity corresponds to the lookup field.

13. The apparatus of claim 12 , wherein the other field of the database object comprises a non-lookup field of the database object.

14. The apparatus of claim 13 , wherein the duplicate candidates in the database object are identified based the lookup field and the non-lookup field.

15. A non-transitory machine-readable medium carrying one or more sequences of instructions for identifying match candidates, which instructions, when executed by one or more processors, cause the one or more processors to:

generate a match key associated with a lookup field of a database object and associated with another field of the database object;

activate a matching rule associated with the match key;

receive a request to search for candidates that are duplicates in the database object, the request including a probe entity; and

identify the duplicate candidates in the database object by:

creating a plurality of candidate keys by applying the match key to a corresponding plurality of candidates in the database object, and creating a probe key by applying the match key to the probe entity,

determining whether the probe key matches any of the plurality of candidate keys, and

determining, when the probe key matches any of the plurality of candidate keys, whether the probe entity matches any of the plurality of candidates corresponding to the matched candidate keys by applying the matching rule to the probe entity and to the candidates corresponding to the matched candidate keys.

16. The non-transitory machine-readable medium of claim 15 , wherein the duplicate candidates in the database object are identified based on a lookup value associated with each of the duplicate candidates.

17. The non-transitory machine-readable medium of claim 16 , wherein the duplicate candidates in the database object are identified based on a lookup key associated with each lookup value.

18. The non-transitory machine-readable medium of claim 17 , wherein the duplicate candidates in the database object are identified based on a lookup key of each of the duplicate candidates and based on a field value of the probe entity.

19. The non-transitory machine-readable medium of claim 18 , wherein the field value of the probe entity corresponds to the lookup field.

20. The non-transitory machine-readable medium of claim 19 , wherein the match key is further associated with a non-lookup field of the database object, and wherein the duplicate candidates in the database object are identified based the lookup field and the non-lookup field.

Assignments (2)
CHANGE OF NAME Recorded Oct 3, 2023
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 065114/0983 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 28, 2015
From: VAISHNAV, PARTH VIJAY; KER, CHENGHUNG; DVINOV, DANIL; HACKER, DAVID
To: SALESFORCE.COM, INC.
Reel/Frame 035732/0354 →
Continuity (1)
Related Publication 20160350440A1 · Dec 1, 2016
Cited By (4)
US 12,235,849 US 12,260,434 US 12,572,826 US 12,688,205