# US 2021/0243151 A1 · System and method for enabling real-time eventing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2021/0243151 A1
- Document ID: US20210243151A1
- Status: Published application
- Kind: A1
- Application number: 17/302,124
- Filed: 2021-04-23
- Published: 2021-08-05
- Earliest claimed: 2010-06-25
- Assignees: Twilio Inc.
- Applicants: Twilio Inc.
- Inventors: Jeffrey Lawson; John Wolthuis; Evan Cooke; Jeffrey Comer
- Web page: https://patentgrep.com/patent/US20210243151A1

## CPC

- H04L 51/52: for supporting social networking services
- G06F 9/542: {Event management; Broadcasting; Multicasting; Notifications}
- H04L 51/04: Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L 51/212: using filtering or selective blocking
- H04L 51/214: using selective forwarding
- G06F 2209/544: Remote
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method and system for real-time eventing including interacting with at least one configuration attribute according to instructions specified through an application programming interface (API); adding subscribers for an event channel; generating an event from operation of an application; publishing the event message to the event channel on an event router; processing the event message according to the at least one configuration attribute; identifying a subscriber to the event channel; and sending the event from the event router to the subscriber.

## Claims

### Claim 1

A system comprising:
one or more computer processors;
one or more computer memories;
a set of instructions stored in the one or more computer memories, the set of instructions configuring the one or more computer processors to perform operations comprising:
receiving, from a publisher, a publication of an event message;
determining a route for the event message based on a set of attributes, the set of attributes associated with an event channel corresponding to the publication of the event message, the set of attributes being configurable via an Application Programming Interface (API) during real-time processing of the event message; and
distributing the event message using the route.

### Claim 2 (depends on 1)

The system of claim 1, wherein the determining of the route includes determining that the event message is to be routed to an additional event channel instead of the event channel corresponding to the publication of the message.

### Claim 3 (depends on 1)

The system of claim 1, wherein the determining of the route includes determining that the event message is to be routed to one or more additional event channels in addition to the event channel corresponding to the publication of the message.

### Claim 4 (depends on 3)

The system of claim 3, wherein the one or more additional event channels include one or more parent event channels associated with the event channel and the distributing of the event message includes implementing hierarchical publishing of the event message across the one or more parent event channels.

### Claim 5 (depends on 3)

The system of claim 3, wherein the one or more additional channels include one or more alias event channels and the distributing of the event message includes implementing one or more routing aliases.

### Claim 6 (depends on 2)

The system of claim 2, wherein the determining of the route is further based on an additional set of attributes, the additional set of attributes corresponding to the additional event channel.

### Claim 7 (depends on 3)

The system of claim 3, wherein the determining of the route is further based on one or more additional sets of attributes, the one or more additional sets of attributes corresponding to the one or more additional event channels.

### Claim 8

A method comprising:
receiving, from a publisher, a publication of an event message;
determining a route for the event message based on a set of attributes, the set of attributes associated with an event channel corresponding to the publication of the event message, the set of attributes being configurable via an Application Programming Interface (API) during real-time processing of the event message; and
distributing the event message using the route.

### Claim 9 (depends on 8)

The method of claim 8, wherein the determining of the route includes determining that the event message is to be routed to an additional event channel instead of the event channel corresponding to the publication of the message.

### Claim 10 (depends on 9)

The method of claim 9, wherein the determining of the route includes determining that the event message is to be routed to one or more additional event channels in addition to the event channel corresponding to the publication of the message.

### Claim 11 (depends on 10)

The method of claim 10, wherein the one or more additional event channels include one or more parent event channels associated with the event channel and the distributing of the event message includes implementing hierarchical publishing of the event message across the parent event channels.

### Claim 12 (depends on 10)

The method of claim 10, wherein the one or more additional channels include one or more alias event channels and the distributing of the event message includes implementing one or more routing aliases.

### Claim 13 (depends on 9)

The method of claim 9, wherein the determining of the route is further based on an additional set of attributes, the additional set of attributes corresponding to the additional event channel.

### Claim 14 (depends on 10)

The method of claim 10, wherein the determining of the route is further based on one or more additional sets of attributes, the one or more additional sets of attributes corresponding to the one or more additional event channels.

### Claim 15

A non-transitory computer-readable storage medium storing a set of instructions that, when executed by one or more computer processors, causes the one or more computer processors to perform operations comprising:
receiving, from a publisher, a publication of an event message;
determining a route for the event message based on a set of attributes, the set of attributes associated with an event channel corresponding to the publication of the event message, the set of attributes being configurable via an Application Programming Interface (API) during real-time processing of the event message; and
distributing the event message using the route.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the determining of the route includes determining that the event message is to be routed to an additional event channel instead of the event channel corresponding to the publication of the message.

### Claim 17 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein the determining of the route includes determining that the event message is to be routed to one or more additional event channels in addition to the event channel corresponding to the publication of the message.

### Claim 18 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, wherein the one or more additional event channels include one or more parent event channels associated with the event channel and the distributing of the event message includes implementing hierarchical publishing of the event message across the parent event channels.

### Claim 19 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, wherein the one or more additional channels include one or more alias event channels and the distributing of the event message includes implementing one or more routing aliases.

### Claim 20 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein the determining of the route is further based on an additional set of attributes, the additional set of attributes corresponding to the additional event channel.
