IP Library Granted Patent US 9,767,132
Granted Patent B2
US 9,767,132 · App. 13/648,075 · Granted Sep 19, 2017

Systems and methods for real-time de-duplication

Inventor: Christopher Kemp (Toronto, CA)
Assignee: salesforce.com, inc.
G06F17/30345G06F17/30283
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 9,767,132
App. No.
13/648,075
Granted
Sep 19, 2017
Kind
B2
Abstract

Disclosed are systems, apparatus, and methods for identifying and visualizing duplicative records via a social network. In various implementations, a first data object may be created and stored in a first database system, where the first data object includes a plurality of data fields capable of storing a plurality of data values. In some implementations, a trigger function may be executed in response to creating the first data object, where the trigger function causes one or more servers in a second database system to determine if one or more existing data objects stored in the second database system include one or more data values that match data values included in the first data object. In various implementations, feed items may be generated in response to determining that a match exists, where the feed items provide one or more users with an indication of the determined match.

Claims (36)

1. A method comprising:

creating a first data object, wherein the first data object includes a plurality of data fields storing a plurality of data values received by user input, each data value being associated with a data field;

storing the created first data object in a first database system;

executing, by the first database system, a trigger function in response to creating the first data object, wherein the trigger function automatically causes one or more servers in a second database system to determine if one or more existing data objects stored in the second database system include one or more data values that match data values included in the first data object stored in the first database system by automatically comparing data values included in the one or more existing data objects stored in the second database system with the data values included in the first data object stored in the first database system, the first database system and the second database system being used to provide different services; and

generating one or more feed items in response to determining that a match exists, wherein the one or more feed items provide one or more users with an indication of the determined match, the indication comprising at least one of an identifier that identifies the one or more existing data objects having data fields with matching data values and a link activatable by the one or more users for modifying at least one of the first data object and the one or more existing data objects.

2. The method of claim 1 , wherein the one or more feed items include a first feed item generated for an owner of the first data object, and wherein the first feed item is capable of notifying the owner that a match has been determined.

3. The method of claim 1 , wherein the one or more feed items include a second feed item generated for an owner or owners of the one or more existing data objects, wherein the second feed item is capable of notifying the owner or owners that a match has been determined.

4. The method of claim 1 , wherein the one or more feed items include one or more links to either the first data object or the one or more existing data objects, and wherein a user may select the one or more links to access or modify one or more of the first data object and the one or more existing data objects.

5. The method of claim 1 further comprising creating an association between the first data object and the one or more existing data objects, wherein the association automatically applies a change from one data object to another.

6. The method of claim 1 , wherein the first data object is a record stored in a multi-tenant data base system and is capable of storing one or more data values contributed by a user of the multi-tenant database system.

7. The method of claim 6 , wherein the record is a type of record selected from the group consisting of an account, contact, lead, and opportunity.

8. The method of claim 6 , wherein the determining is based on one or more data values selected from the group consisting of a phone number, a name, an address, a company name, a professional organization name, an employee identifier, and an email address.

9. The method of claim 6 , wherein the first data object and the one or more existing data objects are different types of records.

10. The method of claim 1 , wherein the retrieved one or more data values include information aggregated from a distributed group of users.

11. The method of claim 1 , wherein the first database system and the second database system are operated by the same entity.

12. A non-transitory machine-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to carry out the steps of:

creating a first data object, wherein the first data object includes a plurality of data fields storing a plurality of data values received by user input, each data value being associated with a data field;

storing the created first data object in a first database system;

executing, by the first database system, a trigger function in response to creating the first data object, wherein the trigger function automatically causes one or more servers in a second database system to determine if one or more existing data objects stored in the second database system include one or more data values that match data values included in the first data object stored in the first database system by automatically comparing data values included in the one or more existing data objects stored in the second database system with the data values included in the first data object stored in the first database system, the first database system and the second database system being used to provide different services; and

generating one or more feed items in response to determining that a match exists, wherein the one or more feed items provide one or more users with an indication of the determined match, the indication comprising at least one of an identifier that identifies the one or more existing data objects having data fields with matching data values and a link activatable by the one or more users for modifying at least one of the first data object and the one or more existing data objects.

13. The machine-readable medium of claim 12 , wherein the one or more feed items include a first feed item generated for an owner of the first data object, and wherein the first feed item is capable of notifying the owner that a match has been determined.

14. The machine-readable medium of claim 12 , wherein the one or more feed items include a second feed item generated for an owner or owners of the one or more existing data objects, wherein the second feed item is capable of notifying the owner or owners that a match has been determined.

15. The machine-readable medium of claim 12 , wherein the one or more feed items include one or more links to either the first data object or the one or more existing data objects, and wherein a user may select the one or more links to access or modify one or more of the first data object and the one or more existing data objects.

16. The machine-readable medium of claim 12 further comprising creating an association between the first data object and the one or more existing data objects, wherein the association automatically applies a change from one data object to another.

17. The machine-readable medium of claim 12 , wherein the first data object is a record stored in a multi-tenant data base system and is capable of storing one or more data values contributed by a user of the multi-tenant database system.

18. The machine-readable medium of claim 17 , wherein the determining is based on one or more data values selected from the group consisting of a phone number, a name, an address, a company name, a professional organization name, an employee identifier, and an email address.

19. An apparatus comprising:

a processor; and

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

creating a first data object, wherein the first data object includes a plurality of data fields storing a plurality of data values received by user input, each data value being associated with a data field;

storing the created first data object in a first database system;

executing, by the first database system, a trigger function in response to creating the first data object, wherein the trigger function automatically causes one or more servers in a second database system to determine if one or more existing data objects stored in the second database system include one or more data values that match data values included in the first data object stored in the first database system by automatically comparing data values included in the one or more existing data objects stored in the second database system with the data values included in the first data object stored in the first database system, the first database system and the second database system being used to provide different services; and

generating one or more feed items in response to determining that a match exists, wherein the one or more feed items provide one or more users with an indication of the determined match, the indication comprising at least one of an identifier that identifies the one or more existing data objects having data fields with matching data values and a link activatable by the one or more users for modifying at least one of the first data object and the one or more existing data objects.

20. The apparatus of claim 19 , wherein the one or more feed items include a first feed item generated for an owner of the first data object, and wherein the first feed item is capable of notifying the owner that a match has been determined.

21. The apparatus of claim 19 , wherein the one or more feed items include a second feed item generated for an owner or owners of the one or more existing data objects, wherein the second feed item is capable of notifying the owner or owners that a match has been determined.

22. The apparatus of claim 19 , wherein the one or more feed items include one or more links to either the first data object or the one or more existing data objects, and wherein a user may select the one or more links to access or modify one or more of the first data object and the one or more existing data objects.

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 Oct 10, 2012
From: KEMP, CHRISTOPHER
To: SALESFORCE.COM, INC.
Reel/Frame 029103/0010 →
Continuity (2)
Provisional Application 61545259 · Oct 10, 2011
Related Publication 20130091104A1 · Apr 11, 2013