# US 2021/0243152 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/0243152 A1
- Document ID: US20210243152A1
- Status: Published application
- Kind: A1
- Application number: 17/302,125
- 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/US20210243152A1

## 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, via a first call to an Application Programming Interface (API), a first order in which processing steps are to be performed during a real-time processing of an event, the first order being associated with a first application;
receiving, via a second call to the API, a second order in which the processing steps are to be performed during the real-time processing of the event, the second order being associated with a second application; and
based on a determination that the real-time processing of the event is for the first application, performing the processing steps in the first order or based on a determination that the real-time processing of the event is for the second application, performing the processing steps in the second order.

### Claim 2 (depends on 1)

The system of claim 1, wherein the processing steps correspond to a set of configuration attributes associated with the event.

### Claim 3 (depends on 1)

The system of claim 1, wherein the set of configuration attributes includes one or more of a route attribute, a permissions attribute, a webhook attribute, or a delegate Uniform Resource Identifier (URI) attribute.

### Claim 4 (depends on 3)

The system of claim 3, wherein the performing of the processing events in the first order includes translating an event message before routing the event message and the performing of the processing of the events in the second order includes routing the event message before translating the event message.

### Claim 5 (depends on 2)

The system of claim 2, wherein each of the set of configuration attributes is configurable during the real-time processing of the event.

### Claim 6 (depends on 2)

The system of claim 2, wherein the set of configuration attributes includes a plurality of delegate URIs.

### Claim 7 (depends on 6)

The system of claim 6, wherein the plurality of delegate URIs are processed sequentially or in parallel.

### Claim 8

A method comprising:
receiving, via a first call to an Application Programming Interface (API), a first order in which processing steps are to be performed during a real-time processing of an event, the first order being associated with a first application;
receiving, via a second call to the API, a second order in which the processing steps are to be performed during the real-time processing of the event, the second order being associated with a second application; and
based on a determination that the real-time processing of the event is for the first application, performing the processing steps in the first order or based on a determination that the real-time processing of the event is for the second application, performing the processing steps in the second order.

### Claim 9 (depends on 8)

The method of claim 8, wherein the processing steps correspond to a set of configuration attributes associated with the event.

### Claim 10 (depends on 8)

The method of claim 8, wherein the set of configuration attributes includes one or more of a route attribute, a permissions attribute, a webhook attribute, or a delegate Uniform Resource Identifier (URI) attribute.

### Claim 11 (depends on 10)

The method of claim 10, wherein the performing of the processing events in the first order includes translating an event message before routing the event message and the performing of the processing of the events in the second order includes routing the event message before translating the event message.

### Claim 12 (depends on 9)

The method of claim 9, wherein each of the set of configuration attributes is configurable during the real-time processing of the event.

### Claim 13 (depends on 9)

The method of claim 9, wherein the set of configuration attributes includes a plurality of delegate URIs.

### Claim 14 (depends on 13)

The method of claim 13, wherein the plurality of delegate URIs are processed sequentially or in parallel.

### 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, via a first call to an Application Programming Interface (API), a first order in which processing steps are to be performed during a real-time processing of an event, the first order being associated with a first application;
receiving, via a second call to the API, a second order in which the processing steps are to be performed during the real-time processing of the event, the second order being associated with a second application; and
based on a determination that the real-time processing of the event is for the first application, performing the processing steps in the first order or based on a determination that the real-time processing of the event is for the second application, performing the processing steps in the second order.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the processing steps correspond to a set of configuration attributes associated with the event.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the set of configuration attributes includes one or more of a route attribute, a permissions attribute, a webhook attribute, or a delegate Uniform Resource Indicator (URI) attribute.

### Claim 18 (depends on 17)

The non-transitory computer-readable storage medium of claim 17, wherein the performing of the processing events in the first order includes translating an event message before routing the event message and the performing of the processing of the events in the second order includes routing the event message before translating the event message.

### Claim 19 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein each of the set of configuration attributes is configurable during the real-time processing of the event.

### Claim 20 (depends on 16)

The non-transitory computer-readable storage medium of claim 16, wherein the set of configuration attributes includes a plurality of delegate URIs.
