# US 2018/0324239 A1 · Event stream processing system

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

- Number: US 2018/0324239 A1
- Document ID: US20180324239A1
- Status: Published application
- Kind: A1
- Application number: 15/838,089
- Filed: 2017-12-11
- Published: 2018-11-08
- Earliest claimed: 2017-05-02
- Assignees: salesforce.com, inc.
- Applicants: salesforce.com, inc.
- Inventors: Stephen POWIS; Stan LEMON; Kevin PEEK
- Web page: https://patentgrep.com/patent/US20180324239A1

## CPC

- H04L 65/70: Media network packetisation
- G06F 9/4843: {by program, e.g. task dispatcher, supervisor, operating system}
- G06F 9/544: {Buffers; Shared memory; Pipes}
- G06F 16/24568: {Data stream processing; Continuous queries}
- H04L 65/60: Network streaming of media packets
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/55: Push-based network services
- G06F 16/958: Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- 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

In one embodiment, a stream processing system ingests data from one or more data sources and converts the data into an unbounded stream for an event stream processor. The stream processing system may include a first coordinating spout instance that is deployed at a first time, the first coordinating spout instance to instantiate one or more second spout instances and deploy said one more second spout instances at a second time that is later than the first time; the one or more second spout instances to: connect to the one or more data sources, respectively, and ingest a respective portion of the data from its respective one of the one or more data sources; and output messages based on the ingested portions of the data; wherein the unbounded stream for the event stream processor is based on the messages. Other embodiments may be disclosed and/or claimed.

## Claims

### Claim 1

A stream processing system to ingest data from one or more data sources and convert the data into an unbounded stream for an event stream processor, the stream processing system comprising:
a first coordinating spout instance that is deployed at a first time, the first coordinating spout instance to instantiate one or more second spout instances and deploy said one more second spout instances at a second time that is later than the first time;
the one or more second spout instances to:
connect to the one or more data sources, respectively, and ingest a respective portion of the data from its respective one of the one or more data sources; and
output messages based on the ingested portions of the data;
wherein the unbounded stream for the event stream processor is based on the messages.

### Claim 2 (depends on 1)

The stream processing system of claim 1, further comprising a message buffer to receive the output messages, wherein the unbounded stream is output from the buffer.

### Claim 3 (depends on 1)

The stream processing system of claim 1, further comprising:
the first coordinating spout instances to instantiate one or more third spout instances and deploy said one more third spout instances at a third time that is later than the second time;
the one or more third spout instances to:
connect to one or more additional data sources, respectively, and ingest a respective portion of additional data from its respective one of the one or more additional data sources; and
output messages based on the ingested portions of the additional data; and
wherein the unbounded stream for the event stream processor is based on the messages and the additional messages.

### Claim 4 (depends on 1)

The stream processing system of claim 1, wherein the data sources comprise time ordered series event logs.

### Claim 5 (depends on 3)

The stream processing system of claim 3, wherein the data sources comprise time ordered series event logs, and wherein the additional data sources comprise additional time ordered series event logs.

### Claim 6 (depends on 5)

The stream processing system of claim 5, wherein the additional time ordered series event logs begin after a start time of the time ordered series event logs.

### Claim 7 (depends on 3)

The stream processing system of claim 3, wherein the first coordinating spout instance is further to receive messages from the event stream processor, to distribute the messages amongst the one or more second spout instances and the one or more third spout instances based on content of the messages.

### Claim 8 (depends on 7)

The stream processing system of claim 7, wherein the messages comprise message completion notifications and message failure notifications generated by the event stream processor responsive to processing the unbounded stream.

### Claim 9 (depends on 8)

The stream processing system of claim 8, wherein the messages are received over a single output interface of the event stream processor.

### Claim 10 (depends on 1)

The stream processing system of claim 1, the first coordinating spout instance to select an individual one of the one more second spout instances, to notify the individual one of the one or more second spout instances to deactivate, to close the selected spout instance the individual one of the one or more second spout instances.

### Claim 11 (depends on 1)

The stream processing system of claim 1, wherein the one or more second spout instances comprises a plurality of spout instances, wherein:
a first spout instance of the plurality of spout instances is configured to apply, for a selected time period, one or more filtering criteria to the ingested portion of the data;
wherein a first subset of the messages is generated by the first spout instance of the plurality of spout instances responsive to an application of the one or more filtering criteria; and
a second spout instance of the plurality of spout instances is configured to apply, after an end of the selected time period, a negation of the one or more filtering criteria to the same ingested portion of the data;
wherein a second different subset of the messages is generated by the second spout instance of the plurality of spout instances responsive to an application of the negation of the one or more filtering criteria.

### Claim 12 (depends on 11)

The stream processing system of claim 11, wherein the selected time period corresponds to a period of unavailability of a storage device to store data generated by the event stream processor.

### Claim 13

A stream processing system to ingest data from one or more data sources and convert the data into an unbounded stream for an event stream processor, the stream processing system comprising:
a first coordinating spout instance that is deployed at a first time, the first coordinating spout instance to instantiate a second spout instance and a third spout instance;
the first coordinating spout instance to sequentially deploy the second and third spout instances, the second spout instance deployed at a second time that is later than the first time and the third spout instance deployed at a third time that is later than the second time;
the second and third spout instances to each ingest a same portion of the data from the one or more data sources and output first messages and second messages, respectively;
wherein the unbounded stream for the event stream processor is based on the first and second messages.

### Claim 14 (depends on 13)

The stream processing system of claim 13, wherein the second spout instance is configured to apply a first filtering criterion to the portion of the data from the one or more data sources, and wherein the third spout instance is configured to apply a second filtering criterion that is different than the first filtering criterion to the portion of the data from the one or more data sources.

### Claim 15 (depends on 14)

The stream processing system of claim 14, wherein the second filtering criterion comprises a negation of the first filtering criterion.

### Claim 16

A method of ingesting data from one or more data sources and convert the data into an unbounded stream for an event stream processor, the method comprising:
deploying a first coordinating spout instance at a first time;
after deploying the first coordinating spout instance, using the first coordinating spout instance to instantiate one or more second spout instances and deploy said one more second spout instances at a second time that is later than the first time;
connecting to the one or more data sources, using the one or more second spout instances respectively, to ingest respective portions of the data from the one or more data sources; and
outputting messages from the one or more second spout instances based on the ingested portions of the data;
wherein the unbounded stream for the event stream processor is based on the messages.

### Claim 17 (depends on 16)

The method of claim 16, further comprising outputting the messages to a single buffer, wherein the unbounded stream is output from the buffer.

### Claim 18 (depends on 16)

The method of claim 16, further comprising:
instantiating, after deployment of the first coordinating spout instance, one or more third spout instances and deploy said one more third spout instances at a third time that is later than the second time;
connecting to one or more additional data sources, using the one or more third spout instances respectively, to ingest respective portions of additional data from the one or more additional data sources;
outputting messages from the one or more third spout instances based on the ingested portions of the additional data; and
wherein the unbounded stream for the event stream processor is based on the messages and the additional messages.

### Claim 19 (depends on 16)

The method of claim 16, wherein the data sources comprise time ordered series event logs.

### Claim 20 (depends on 18)

The method of claim 18, wherein the data sources comprise time ordered series event logs, and wherein the additional data sources comprise additional time ordered series event logs.

### Claim 21 (depends on 20)

The method of claim 20, wherein the additional time ordered series event logs begin after a start time of the time ordered series event logs.

### Claim 22 (depends on 18)

The method of claim 18, further comprising:
receiving messages from the event stream processor at the first coordinating spout instance; and
distributing the messages amongst the one or more second spout instances and the one or more third spout instances based on content of the messages.

### Claim 23 (depends on 22)

The method of claim 22, wherein the messages comprise message completion notifications and message failure notifications generated by the event stream processor responsive to processing the unbounded stream.

### Claim 24 (depends on 23)

The method of claim 23, wherein the messages are received over a single output interface of the event stream processor.

### Claim 25 (depends on 16)

The method of claim 16, further comprising:
selecting an individual one of the one more second spout instances to be closed while the coordinating spout instance remains open;
notifying the individual one of the one or more second spout instances to deactivate; and
closing the selected spout instance the individual one of the one or more second spout instances while maintaining an interface with the event stream processor by the first coordinating spout instance.
