IP Library Granted Patent US 11,609,886
Granted Patent B2
US 11,609,886 · App. 16/779,395 · Granted Mar 21, 2023

Mechanism for stream processing efficiency using probabilistic model to reduce data redundancy

Inventors: Yogesh Patel (Dublin, CA); Percy Mehta (Foster City, CA); Mattia Padovani (San Francisco, CA); Shan-Cheng Ho (Sunnyvale, CA); Shaahin Mehdinezhad Rushan (Dublin, CA); Johannes Kienzle (San Francisco, CA)
Assignee: salesforce.com, inc.
G06F16/215G06F9/542G06N7/005
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,609,886
App. No.
16/779,395
Granted
Mar 21, 2023
Kind
B2
Abstract

A method and system of data deduplication for data streams in a multi-tenant system. The method receives, at a data accuracy manager, an event from an activity tracking component, determine whether the event is recorded in a probabilistic model that tracks previously received events from the activity tracking component, where the probabilistic model can accurately identify the event has not been previously received with a possible false positive response where the event has been previously received, determines whether information for the event is stored in a metric storage, where the metric storage is a database of metrics derived from the previously received events, and discards the event in response to determining that the event is recorded in the probabilistic model and in the metric storage.

Claims (35)

1. A method of data deduplication for data streams in a multi-tenant system, the method comprising:

receiving, at a data accuracy manager, an event from an activity tracking component;

determining whether the event is recorded in a probabilistic model that tracks previously received events from the activity tracking component, where the probabilistic model can accurately identify that the event has not been previously received with a possible false positive response where the event has been previously received, wherein determining whether the event is recorded is a check for a primary key for the event;

determining whether the primary key for the event is stored in a metric storage, where the metric storage is a database of metrics derived from the previously received events; and

discarding the event in response to determining that the event is recorded in the probabilistic model and the primary key for the event is stored in the metric storage.

2. The method of data deduplication of claim 1 , wherein the probabilistic model is a bloom filter.

3. The method of data deduplication of claim 1 , further comprising:

adding a unique identifier of the event to the probabilistic model in response to failing to find the unique identifier in the probabilistic model.

4. The method of data deduplication of claim 1 , further comprising:

adding the information for the event to the metric storage in response to failing to find a primary key for the event in the probabilistic model.

5. The method of data deduplication of claim 1 , further comprising:

determining whether the probabilistic model exists in response to receiving an event message.

6. The method of data deduplication of claim 5 , further comprising:

initializing the probabilistic model with a unique identifier for the event, in response to determining that the probabilistic model does not exist.

7. The method of data deduplication of claim 1 , wherein the event is generated by an activity tracker.

8. A non-transitory machine-readable storage medium that provides instructions that, if executed by a processor, will cause said processor to perform operations comprising:

receiving, at a data accuracy manager, an event from an activity tracking component;

determining whether the event is recorded in a probabilistic model that tracks previously received events from the activity tracking component, where the probabilistic model can accurately identify that the event has not been previously received with a possible false positive response where the event has been previously received wherein determining whether the event is recorded is a check for a primary key for the event;

determining whether the primary key for the event is stored in a metric storage, where the metric storage is a database of metrics derived from the previously received events; and

discarding the event in response to determining that the event is recorded in the probabilistic model and the primary key for the event is stored in the metric storage.

9. The non-transitory machine-readable storage medium of claim 8 , wherein the probabilistic model is a bloom filter.

10. The non-transitory machine-readable storage medium of claim 8 , the operations further comprising:

adding a unique identifier of the event to the probabilistic model in response to failing to find the unique identifier in the probabilistic model.

11. The non-transitory machine-readable storage medium of claim 8 , the operations further comprising:

adding the information for the event to the metric storage in response to failing to find a primary key for the event in the probabilistic model.

12. The non-transitory machine-readable storage medium of claim 8 , the operations further comprising:

determining whether the probabilistic model exists in response to receiving an event message.

13. The non-transitory machine-readable storage medium of claim 12 , the operations further comprising:

initializing the probabilistic model with a unique identifier for the event, in response to determining that the probabilistic model does not exist.

14. The non-transitory machine-readable storage medium of claim 8 , wherein the event is generated by an activity tracker.

15. A computing device to execute a method of data deduplication for data streams in a multi-tenant system, the computing device comprising:

a non-transitory machine-readable medium having stored therein a data accuracy manager; and

a processor coupled to the non-transitory machine-readable medium, the processor to execute the data accuracy manager to receive an event from an activity tracking component, determine whether the event is recorded in a probabilistic model that tracks previously received events from the activity tracking component, where the probabilistic model can accurately identify that the event has not been previously received with a possible false positive response where the event has been previously received, wherein determining whether the event is recorded is a check for a primary key for the event, to determine whether the primary key for the event is stored in a metric storage, where the metric storage is a database of metrics derived from the previously received events, and to discard the event in response to determining that the event is recorded in the probabilistic model and the primary key for the event is stored in the metric storage.

16. The computing device of claim 15 , wherein the probabilistic model is a bloom filter.

17. The computing device of claim 15 , wherein the data accuracy manager is further to add a unique identifier of the event to the probabilistic model in response to failing to find the unique identifier in the probabilistic model.

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 Aug 26, 2020
From: PATEL, YOGESH; MEHTA, PERCY; PADOVANI, MATTIA; HO, SHAN-CHENG; RUSHAN, SHAAHIN MEHDINEZHAD; KIENZLE, JOHANNES
To: SALESFORCE.COM, INC.
Reel/Frame 053608/0124 →