IP Library › Granted Patent US 11,803,555
Granted Patent B2
US 11,803,555 · App. 16/264,418 · Granted Oct 31, 2023

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, Inc.
G06F16/24568G06F16/2423G06F16/24534G06F16/24564G06F16/288
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,803,555
App. No.
16/264,418
Granted
Oct 31, 2023
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 (60)

1. A method, comprising:

receiving, by a computing device via a messaging platform, first consumer data from a first data source having a first schema and second consumer data from a second data source having a second schema, wherein the first consumer data and the second consumer data have a common consumer, and wherein the second schema for the common consumer is different from the first schema for the common consumer;

reconciling, by the computing device, the first schema and the second schema for the common consumer with a common exchange schema of a master record canonical model, wherein a field mapping registry connects the first schema and the second schema to the common exchange schema of the master record canonical model;

determining, by the computing device, a first transformation rule based on context information of the first consumer data and canonical information of the common consumer in the master record canonical model and a second transformation rule based on context information of the second consumer data and canonical information of the common consumer in the master record canonical model;

transforming, by the computing device, the first consumer data based on the first transformation rule and the second consumer data based on the second transformation rule into a canonical format of the master record canonical model, wherein a common field of the transformed first and second consumer data for the common consumer includes different data;

reconciling, by the computing device, the different data in the common field into a unified view for the transformed first and second consumer data;

creating, by the computing device, a single master record of the common consumer in the master record canonical model based on the reconciled data for the common field; and

publishing, by the computing device in response to an update of the single master record for the common consumer, the update of the single master record onto the messaging platform for sending to one or more subscribers of the single master record.

2. The method according to claim 1 , further comprising:

normalizing, by the computing device, the first consumer data.

3. The method according to claim 1 , wherein reconciling the different data comprises:

reconciling, by the computing device, the different data in the common field of the first consumer data and the second consumer data with a tiebreaker rule.

4. The method according to claim 1 , further comprising:

processing streaming data, by the computing device, with the first transformation rule or the second transformation rule, wherein one of the first consumer data and the second consumer data comprises the streaming data.

5. The method according to claim 4 , further comprising:

transmitting, by the computing device, the context information of the first and second consumer data for identifying the first transformation rule and the second transformation rule.

6. The method according to claim 5 , further comprising:

determining, by the computing device, the first data source for the transformed first consumer data and the second data source for the transformed second consumer data in the single master record based on the context information.

7. A system, comprising:

a memory; and

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

receive, via a messaging platform, first consumer data from a first data source having a first schema and second consumer data from a second data source having a second schema, wherein the first consumer data and the second consumer data have a common consumer, and wherein the second schema for the common consumer is different from the first schema for the common consumer;

reconcile the first schema and the second schema for the common consumer with a common exchange schema of a master record canonical model, wherein a field mapping registry connects the first schema and the second schema to the common exchange schema of the master record canonical model;

determine a first transformation rule based on context information of the first consumer data and canonical information of the common consumer in the master record canonical model and a second transformation rule based on context information of the second consumer data and canonical information of the common consumer in the master record canonical model;

transform the first consumer data based on the first transformation rule and the second consumer data based on the second transformation rule into a canonical format of the master record canonical model, wherein a common field of the transformed first and second consumer data for the common consumer includes different data;

reconcile the different data in the common field into a unified view for the transformed first and second consumer data;

create a single master record of the common consumer in the master record canonical model based on the reconciled data for the common field; and

publish, in response to an update of the single master record for the common consumer, the update of the single master record onto the messaging platform for sending to one or more subscribers of the single master record.

8. The system of claim 7 , wherein the processor is further configured to:

normalize the first consumer data.

9. The system of claim 7 , wherein to reconcile the different data, the processor is configured to:

reconcile the different data in the common field of the first consumer data and the second consumer data with a tiebreaker rule.

10. The system of claim 7 , wherein the processor is further configured to:

process streaming data with the first transformation rule or the second transformation rule, wherein one of the first consumer data and the second consumer data comprises the streaming data.

11. The system of claim 10 , wherein the processor is further configured to:

transmit the context information of the first and second consumer data for identifying the first transformation rule and the second transformation rule.

12. The system of claim 11 , wherein the processor is further configured to:

determine the first data source for the transformed first consumer data and the second data source for the transformed second consumer data in the single master record based on the context information.

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:

receiving, via a messaging platform, first consumer data having a first schema from a first data source and second consumer data from a second data source having a second schema, wherein the first consumer data and the second consumer data have a common consumer, and wherein the second schema for the common consumer is different from the first schema for the common consumer;

reconciling the first schema and the second schema for the common consumer with a common exchange schema of a master record canonical model, wherein a field mapping registry connects the first schema and the second schema to the common exchange schema of the master record canonical model;

determining a first transformation rule based on context information of the first consumer data and canonical information of the common consumer in the master record canonical model and a second transformation rule based on context information of the second consumer data and canonical information of the common consumer in the master record canonical model;

transforming the first consumer data based on the first transformation rule and the second consumer data based on the second transformation rule into a canonical format of the master record canonical model, wherein a common field of the transformed first and second consumer data for the common consumer includes different data;

reconciling the different data in the common field into a unified view for the transformed first and second consumer data;

creating a single master record of the common consumer in the master record canonical model based on the reconciled data for the common field; and

publishing, in response to an update of the single master record for the common consumer, the update of the single master record onto the messaging platform for sending to one or more subscribers of the single master record.

14. The non-transitory computer-readable apparatus according to claim 13 , wherein reconciling the different data comprises:

reconciling the different data in the common field of the first consumer data and the second consumer data with a tiebreaker rule.

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

processing streaming data with the first transformation rule or the second transformation rule, wherein one of the first consumer data and the second consumer data comprises the streaming data.

16. The non-transitory computer-readable apparatus according to claim 15 , the operations further comprising:

transmitting the context information of the first and second consumer data for identifying the first transformation rule and the second transformation rule.

17. The non-transitory computer-readable apparatus according to claim 16 , further comprising:

determining the first data source for the transformed first consumer data and the second data source for the transformed second consumer data in the single master record based on the context information.

18. The method according to claim 1 , further comprising:

sending, by the computing device, the update of the single master record to the one or more subscribers of the single master record.

19. The system of claim 7 , wherein the processor is further configured to:

send the update of the single master record to the one or more subscribers of the single master record.

20. The non-transitory computer-readable apparatus according to claim 13 , the operations further comprising:

sending the update of the single master record to the one or more subscribers of the single master record.

Assignments (2)
CHANGE OF NAME Recorded Aug 4, 2026
From: SALESFORCE.COM, INC.
To: SALESFORCE, INC.
Reel/Frame 076118/0548 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2023
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 063948/0393 →
Continuity (2)
Provisional Application 62735552 · Sep 24, 2018
Related Publication 20200097476A1 · Mar 26, 2020