IP Library Granted Patent US 10,579,445
Granted Patent B2
US 10,579,445 · App. 15/947,656 · Granted Mar 3, 2020

Dynamic routing of events to destinations

Inventors: Choapet Oravivattanakul (San Francisco, CA); Samarpan Jain (Fremont, CA)
Assignee: SALESFORCE.COM, INC.
G06F9/542G06F9/544G06F9/546G06F21/6218H04L67/10G06F2209/541
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,579,445
App. No.
15/947,656
Granted
Mar 3, 2020
Kind
B2
Abstract

A method for dynamically routing of events to destinations based on mapping metadata is described. The method includes detecting, by a capture service of an application server, an event associated with values for one or more attributes that describe the event; mapping, by a metadata service of the application server, the event to a set of destinations based on the mapping metadata received by the application server at runtime, the values of the one or more attributes of the event, and permissions associated with a tenant; and storing, by a buffer of the application server, the event and the set of destinations.

Claims (35)

1. A method for dynamically routing of events to destinations based on mapping metadata, the method comprising:

detecting, by a capture service of an application server, an event associated with values for one or more attributes that describe the event;

mapping, by a metadata service of the application server, the event to a set of destinations based on the mapping metadata received by the application server at runtime, the values of the one or more attributes of the event, and permissions associated with a tenant;

storing, by a buffer of the application server, the event and the set of destinations; and

selectively processing, by each consumer node in a plurality of consumer nodes of the application server, the event based on the set of destinations.

2. The method of claim 1 , wherein a first consumer node in the plurality of consumer nodes is associated with a first destination and a second consumer node in the plurality of consumer nodes is associated with a second destination.

3. The method of claim 2 , wherein the selectively processing comprises:

based on determining that the set of destinations includes the first destination, processing the event by the first consumer node to produce a processed event, routing the processed event to the first destination, and passing the event to the second consumer node.

4. The method of claim 2 , wherein the selectively processing comprises:

based on determining that the set of destinations does not include the first destination, passing the event from the first consumer node to the second consumer node without processing by the first consumer node.

5. The method of claim 2 , wherein the set of destinations includes one or more of a long-term storage location and a short-term storage location.

6. The method of claim 1 , wherein the one or more attributes includes one or more of a type of the event and a location from which the event was generated.

7. An application server for dynamically routing of events to destinations based on mapping metadata, the application server comprising:

a capture service to detect an event associated with values for one or more attributes that describe the event;

a metadata service to map the event to a set of destinations based on the mapping metadata received by the application server at runtime, the values of the one or more attributes of the event, and permissions associated with a tenant;

a buffer to store the event and the set of destinations; and

a plurality of consumer nodes, wherein each consumer node in the plurality of consumer nodes is to selectively process the event based on the set of destinations.

8. The application server of claim 7 , wherein a first consumer node in the plurality of consumer nodes is associated with a first destination and a second consumer node in the plurality of consumer nodes is associated with a second destination.

9. The application server of claim 8 , wherein the selectively processing comprises:

when the set of destinations includes the first destination, processing the event by the first consumer node to produce a processed event, routing the processed event to the first destination, and passing the event to the second consumer node.

10. The application server of claim 8 , wherein the selectively processing comprises:

when the set of destinations does not include the first destination, passing the event from the first consumer node to the second consumer node without processing by the first consumer node.

11. The application server of claim 8 , wherein the set of destinations includes one or more of a long-term storage location and a short-term storage location.

12. The application server of claim 7 , wherein the one or more attributes includes one or more of a type of the event and a location from which the event was generated.

13. A non-transitory machine-readable storage medium that stores instructions, which when executed by a processor of a computing system, cause the computing system to:

detect an event, wherein the event is associated with values for one or more attributes that describe the event;

map the event to a set of destinations based on mapping metadata received by the computing system at runtime, the values of the one or more attributes of the event, and permissions associated with a tenant;

store, in a buffer, the event and the set of destinations; and

selectively process, by each consumer node in a plurality of consumer nodes, the event based on the set of destinations.

14. The non-transitory machine-readable storage medium of claim 13 , wherein a first consumer node in the plurality of consumer nodes is associated with a first destination and a second consumer node in the plurality of consumer nodes is associated with a second destination.

15. The non-transitory machine-readable storage medium of claim 14 , wherein the selectively processing comprises:

when the set of destinations includes the first destination, processing the event by the first consumer node to produce a processed event, routing the processed event to the first destination, and passing the event to the second consumer node.

16. The non-transitory machine-readable storage medium of claim 14 , wherein the selectively processing comprises:

when the set of destinations does not include the first destination, passing the event by the first consumer node to the second consumer node without processing by the first consumer node.

17. The non-transitory machine-readable storage medium of claim 13 , wherein the one or more attributes includes one or more of a type of the event and a location from which the event was generated.

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 Apr 9, 2018
From: ORAVIVATTANAKUL, CHOAPET; JAIN, SAMARPAN
To: SALESFORCE.COM, INC.
Reel/Frame 045481/0432 →
Cited By (1)
US 12,675,592