IP Library Granted Patent US 10,200,459
Granted Patent B2
US 10,200,459 · App. 15/695,946 · Granted Feb 5, 2019

Apparatus and method for pipelined event processing in a distributed environment

Inventors: Alok Pareek (Hillsborough, CA); Ali Kutay (Palo Alto, CA); Steve Wilkes (Santa Clara, CA); Sami Akbay (Santa Clara, CA)
Assignee: Striim, Inc.
H04L67/10H04L41/0604
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,200,459
App. No.
15/695,946
Granted
Feb 5, 2019
Kind
B2
Abstract

A method includes receiving first data from a first data source that continuously generates a first set of records with first common fields. The first data is filtered by selecting a first sub-set of fields of the first common fields to form first filtered data. Second data is received from a second data source that continuously generates a second set of records with second common fields. The second data is filtered by selecting a second sub-set of fields of the second common fields to form second filtered data, where the first filtered data and the second filtered data are generated simultaneously. Rules are applied to the first filtered data and the second filtered data in real-time to identify selected real-time events. The selected real-time events are reported prior to persistently storing the first filtered data, the second filtered data and the selected real-time events.

Claims (16)

1. A method, comprising:

receiving a first set of records from a first data source that regularly generates the first set of records with first common fields, wherein the first set of records characterize a first real-time event;

receiving a second set of records from a second data source that regularly generates the second set of records with second common fields, wherein the second set of records characterize a second real-time event different than the first real-time event;

filtering with a first data processor the first data by accessing the first data stored in dynamic memory as in-flight data and selecting a first sub-set of fields of the first common fields to form first filtered data stored in dynamic memory as in-flight data; and

filtering with a second data processor the second data by accessing the second data in dynamic memory as in-flight data and selecting a second sub-set of fields of the second common fields to form second filtered data stored in dynamic memory as in-flight data, wherein the first data processor and the second data processor are on separate nodes in a network and apply rules to the first filtered data and the second filtered data in real-time to identify and report selected real-time events stored in dynamic memory as in-flight data prior to persistently storing the first filtered data, the second filtered data and the selected real-time events.

2. The method of claim 1 wherein the first filtered data and the second filtered data are each represented as an object with a unique global identifier field, a creation time field and a payload field.

3. The method of claim 2 wherein the first filtered data and the second filtered data are each represented as an object with a location field.

4. The method of claim 2 wherein the first filtered data and the second filtered data are each represented as an object with a context field defining one or more key value pairs.

5. The method of claim 2 wherein the first filtered data and the second filtered data are each represented as an object with an event field defining one or more events.

6. The method of claim 1 further comprising:

volatilely storing in an in-memory cache the first data, the second data, the first filtered data, the second filtered data and the selected real-time events; and

persistently storing in a persistent data store the first data, the second data, the first filtered data, the second filtered data and the selected real-time events.

7. The method of claim 6 further comprising utilizing a query engine to support search, analytics, and visualization of data in the in-memory cache and persistent data store.

8. The method of claim 6 wherein the persistent data store is a Not Only SQL database.

9. The method of claim 1 further comprising utilizing a data aggregator to form a new dimension of data based upon selected fields of the first filtered data and the second filtered data.

10. The method of claim 1 wherein the first data source and the second data source are selected from a database log, database redo log, operating system log, application log, web server log, application server log, machine generated log and a sensor.

Assignments (3)
SECURITY INTEREST Recorded Mar 18, 2026
From: STRIIM, INC.
To: GOLUB CAPITAL LLC, AS THE AGENT
Reel/Frame 074113/0297 →
CHANGE OF NAME Recorded Sep 5, 2017
From: WEBACTION, INC.
To: STRIIM, INC.
Reel/Frame 043761/0408 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2017
From: PAREEK, ALOK; KUTAY, ALI; WILKES, STEVE; AKBAY, SAMI
To: WEBACTION, INC.
Reel/Frame 043761/0410 →
Continuity (3)
Continuation 14285428 · May 22, 2014
Provisional Application 61826377 · May 22, 2013
Related Publication 20170366603A1 · Dec 21, 2017