IP Library Granted Patent US 11,366,805
Granted Patent B2
US 11,366,805 · App. 16/264,470 · Granted Jun 21, 2022

Integrated entity view across distributed systems

Inventors: Leo Duy Tran (San Francisco, CA); David Angulo (Boulder, CO); David Woodward (Westfield, IN); Abhinav Chadda (Emeryville, CA); David Hacker (Moraga, CA); Steven Ness (Victoria, CA); Matt Lagrotte (Deerfield Beach, FL); Jason Moody (Burlington, MA); Daniel Marchant (Bishop, GA); Matthew James Mondok (Palm Harbor, FL); Federico Recio (Sunny Isles Beach, FL); Mehmet Gokmen Orun (San Francisco, CA); Steven Kostrzewski (Novato, CA); Christopher Bill (Indianapolis, IN); Kaustubh Barde (San Francisco, CA); Lydia Lodovisi (Indianapolis, IN); Sarah Flamion (Newburgh, IN); Jamin Hall (Noblesville, IN); Charles Fineman (Berkeley, CA)
Assignee: salesforce.com, inc.
G06F16/2423G06F9/542G06F16/212G06F16/215G06F16/23G06F16/2365G06F16/2471G06F16/24564G06F16/288G06F16/9035G06Q30/01
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 11,366,805
App. No.
16/264,470
Granted
Jun 21, 2022
Kind
B2
Abstract

Methods, systems, and computer program products for a customer relationship management (CRM) system are provided herein. Embodiments presented herein provide for exchange of data between disparate, distributed systems; subscribe to and/or publish customer data change event; creation of master records for consumers using static and streaming sources; providing data provenance, auditing capabilities, and queries across multiple tenants and third party systems. Embodiments provide a single view of a customer in a distributed system environment.

Claims (68)

1. A system, comprising:

a memory;

a processor coupled to the memory and configured to, based on instructions stored in the memory, perform operations comprising:

retrieving first patron data related to a patron off a platform bus based on a first subscription rule, wherein the first subscription rule is triggered in response to publishing of the first patron data related to the patron from a first data source to the platform bus;

retrieving second patron data related to the patron off the platform bus based on a second subscription rule, wherein the second subscription rule is triggered in response to publishing of the second patron data related to the patron from a second data source different from the first data source to the platform bus and wherein the first and second subscription rules are defined by an individual client that manages the first and second data sources;

formatting the first patron data and the second patron data into a standard format based on context information of the first patron data and the second patron data;

matching the first and second patron data with existing records related to the patron;

creating a master record for the patron using the formatted first patron data, the formatted second patron data, and the existing records, wherein the master record comprises a record of the first and second data sources for the formatted first and second patron data;

receiving, via an event bus, raw events related to the patron from a third data source, wherein the raw events are generated based on an activity of the patron on the third data source;

converting the raw events into a customer trigger event for the patron based on a predetermined rule;

generating, in response to the customer trigger event, a notification for the patron, wherein the notification is enriched with information of the patron in the master record; and

sending the notification to the patron based on contact information of the patron in the master record.

2. The system according to claim 1 , the operations further comprising:

transmitting a master record event in response to a change event of the master record onto the platform bus for data sources subscribed to the master record.

3. The system according to claim 1 , the operations further comprising:

updating the master record for the patron using the formatted first patron data, the formatted second patron data, and the existing records.

4. The system according to claim 1 , the operations further comprising:

performing a query of information associated with the patron in the master record from the first data source and the second data source through a global directory of tenants.

5. The system according to claim 1 , the operations further comprising performing a commerce journey event in response to the first patron data, wherein the commerce journey event generates a notification comprising information in the master record for the patron to respond to the first patron data and sends the notification to the patron.

6. The system according to claim 1 , the operations further comprising reconciling data obtained from the formatted first patron data, the formatted second patron data, and the existing records in a single view of the patron.

7. A method, comprising:

retrieving, by a computing device, first patron data related to a patron off a platform bus based on a first subscription rule, wherein the first subscription rule is triggered in response to publishing of the first patron data related to the patron from a first data source to the platform bus;

retrieving, by the computing device, second patron data related to the patron off the platform bus based on a second subscription rule, wherein the second subscription rule is triggered in response to publishing of the second patron data related to the patron from a second data source different from the first data source to the platform bus and wherein the first and second subscription rules are defined by an individual client that manages the first and second data sources;

formatting, by the computing device, the first patron data and the second patron data into a standard format based on context information of the first patron data and the second patron data;

matching, by the computing device, the first and second patron data with existing records;

creating, by the computing device, a master record for the patron using the formatted first patron data, the formatted second patron data, and the existing records, wherein the master record comprises a record of the first and second data sources for the formatted first and second patron data;

receiving, via an event bus, raw events related to the patron from a third data source, wherein the raw events are generated based on an activity of the patron on the third data source;

converting the raw events into a customer trigger event for the patron based on a predetermined rule;

generating, in response to the customer trigger event, a notification for the patron, wherein the notification is enriched with information of the patron in the master record; and

sending the notification to the patron based on contact information of the patron in the master record.

8. The method according to claim 7 , further comprising:

transmitting, by the computing device, a master record event in response to a change event of the master record onto the platform bus for data sources subscribed to the master record.

9. The method according to claim 7 , further comprising:

updating, by the computing device, the master record for the patron using the formatted first patron data, the formatted second patron data, and the existing records.

10. The method according to claim 7 , further comprising:

performing, by the computing device, a query of information associated with the patron in the master record from the first data source and the second data source accessible through a global directory of tenants.

11. The method according to claim 7 , further comprising performing a commerce journey event in response to the first patron data, wherein the commerce journey event generates a notification comprising information in the master record for the patron to respond to the first patron data and sends the notification to the patron.

12. The method according to claim 7 , further comprising:

reconciling, by the computing device, data obtained from the formatted first patron data, the formatted second patron data, and the existing records; and

providing, by the computing device, a single view of the patron based on the reconciled data.

13. A non-transitory computer-readable apparatus having instructions stored thereon that, when executed by a computing device, cause the computing device to perform operations comprising:

retrieving, by a computing device, first patron data related to a patron off a platform bus based on a first subscription rule, wherein the first subscription rule is triggered in response to publishing of the first patron data related to the patron from a first data source to the platform bus;

retrieving, by the computing device, second patron data related to the patron off the platform bus based on a second subscription rule, wherein the second subscription rule is triggered in response to publishing of the second patron data related to the patron from a second data source different from the first data source to the platform bus and wherein the first and second subscription rules are defined by an individual client that manages the first and second data sources;

formatting, by the computing device, the first patron data and the second patron data into a standard format based on context information of the first patron data and the second patron data;

matching, by the computing device, the first and second patron data with existing records;

creating, by the computing device, a master record for the patron using the formatted first patron data, the formatted second patron data, and the existing records, wherein the master record comprises a record of the first and second data sources for the formatted first and second patron data;

receiving, via an event bus, raw events related to the patron from a third data source, wherein the raw events are generated based on an activity of the patron on the third data source;

converting the raw events into a customer trigger event for the patron based on a predetermined rule;

generating, in response to the customer trigger event, a notification for the patron, wherein the notification is enriched with information of the patron in the master record; and

sending the notification to the patron based on contact information of the patron in the master record.

14. The non-transitory computer-readable apparatus of claim 13 , the operations further comprising:

transmitting a master record event in response to a change event of the master record onto the platform bus for data sources subscribed to the master record.

15. The non-transitory computer-readable apparatus of claim 13 , the operations further comprising:

updating the master record for the patron using the formatted first patron data, the formatted second patron data, and the existing records.

16. The non-transitory computer-readable apparatus of claim 13 , the operations further comprising:

performing a query of information associated with the patron in the master record from the first data source and the second data source accessible through a global directory of tenants.

17. The non-transitory computer-readable apparatus of claim 13 , the operations further comprising:

reconciling, by the computing device, data obtained from the formatted first patron data, the formatted second patron data, and the existing records; and

providing, by the computing device, a single view of the patron based on the reconciled data.

18. The system according to claim 1 , wherein converting the raw events comprises:

segmenting the raw events into one or more categories; and

generating the customer trigger event for the raw events after a certain period of time.

19. The method according to claim 7 , wherein converting the raw events comprises:

segmenting the raw events into one or more categories; and

generating the customer trigger event for the raw events after a certain period of time.

20. The non-transitory computer-readable apparatus of claim 13 , wherein converting the raw events comprises:

segmenting the raw events into one or more categories; and

generating the customer trigger event for the raw events after a certain period of time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2022
From: MARCHANT, DANIEL; MONDOK, MATTHEW; RECIO, FEDERICO; ORUN, MEHMET; KOSTRZEWSKI, STEVEN; BILL, CHRISTOPHER; BARDE, KAUSTUBH; LODOVISI, LYDIA; FLAMION, SARAH; HALL, JAMIN; TRAN, LEO; ANGULO, DAVID; WOODWARD, DAVID JAMES; CHADDA, ABHINAV; HACKER, DAVID; NESS, STEVEN; LAGROTTE, MATT; MOODY, JASON; FINEMAN, CHARLES
To: SALESFORCE.COM, INC.
Reel/Frame 059162/0688 →
Continuity (2)
Provisional Application 62735552 · Sep 24, 2018
Related Publication 20200097456A1 · Mar 26, 2020