IP Library › Granted Patent US 10,452,592
Granted Patent B1
US 10,452,592 · App. 16/107,553 · Granted Oct 22, 2019

Message bus-based streaming rules engine

Inventors: Bharadwaj Narasimha (Bangalore, IN); Ashok Agarwal (San Jose, CA)
Assignee: Glassbeam, Inc.
G06F13/42G06N5/022
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,452,592
App. No.
16/107,553
Granted
Oct 22, 2019
Kind
B1
Abstract

A message bus-based streaming rules engine is disclosed. In various embodiments, a data analysis system as disclosed herein includes a communication interface configured to receive log data; and a processor coupled to the communication interface and configured to: parse the log data to generate a data unit comprising a data value; and send the data unit via a message bus to a rule actor configured to apply a rule based at least in part on the data value.

Claims (53)

1. A data analysis system, comprising:

a communication interface configured to receive log data; and

a processor coupled to the communication interface and configured to:

parse the log data to generate a data unit comprising a data value; and

send the data unit via a message bus to a rule actor configured to apply a rule based at least in part on the data value;

wherein:

the rule actor comprises one of a plurality of rule actors each associated with a corresponding rule;

each rule actor is configured to implement a corresponding rule based at least in part on a rule definition; and

the processor is further configured to compile the rule definition, including by creating a class based on which the rule actor is instantiated.

2. The system of claim 1 , wherein the rule actor is configured to apply the rule at least in part by comparing the data value to a threshold.

3. The system of claim 1 , wherein the data unit comprises a row map.

4. The system of claim 1 , wherein the data unit is routed to the rule actor based at least in part on the presence of the data value in the data unit.

5. The system of claim 1 wherein the rule definition is user-defined.

6. The system of claim 1 , wherein the rule definition is express in an external domain specific language.

7. The system of claim 6 , wherein the processor is configured to translate the rule definition into an internal domain specific language.

8. A data analysis system, comprising:

a communication interface configured to receive log data; and

a processor coupled to the communication interface and configured to:

parse the log data to generate a data unit comprising a data value; and

send the data unit via a message bus to a rule actor configured to apply a rule based at least in part on the data value;

wherein compiling the rule definition includes configuring a router to route the data unit to the rule actor based at least in part on the presence of the data value in the data unit.

9. A data analysis system, comprising:

a communication interface configured to receive log data; and

a processor coupled to the communication interface and configured to:

parse the log data to generate a data unit comprising a data value; and

send the data unit via a message bus to a rule actor configured to apply a rule based at least in part on the data value;

wherein the rule actor is based at least in part on a rule definition and wherein the processor is configured to receive a modified version of the rule definition and to replace the rule actor with a modified rule actor based on the modified version of the rule definition.

10. The system of claim 1 , wherein the rule actor implements a finite state machine to apply the rule.

11. The system of claim 1 , wherein the rule actor is configured to take a responsive action based at least in part on a determination that a trigger condition of the rule has been met.

12. The system of claim 11 , wherein the trigger condition comprises a determination that the data value satisfies a threshold.

13. A method to analyze log data, comprising:

receiving log data via a communication interface;

using a processor coupled to the communication interface to:

parse the log data to generate a data unit comprising a data value; and

send the data unit via a message bus to a rule actor configured to apply a rule based at least in part on the data value

wherein:

the rule actor comprises one of a plurality of rule actors each associated with a corresponding rule;

each rule actor is configured to implement a corresponding rule based at least in part on a rule definition; and

the method further includes using the processor to compile the rule definition, including by creating a class based on which the rule actor is instantiated.

14. The method of claims 13 , wherein compiling the rule definition includes configuring a router to route the data unit to the rule actor based at least in part on the presence of the data value in the data unit.

15. The method of claims 13 , wherein the rule actor is based at least in part on a rule definition and wherein the processor is configured to receive a modified version of the rule definition and to replace the rule actor with a modified rule actor based on the modified version of the rule definition.

16. The method of claims 13 , wherein the rule actor implements a finite state machine to apply the rule.

17. A computer program product to analyze log data, the computer program product being embodied in a non-transitory computer readable medium and comprising computer instructions for:

receiving log data;

parsing the log data to generate a data unit comprising a data value; and

sending the data unit via a message bus to a rule actor configured to apply a rule based at least in part on the data value;

wherein:

the rule actor comprises one of a plurality of rule actors each associated with a corresponding rule;

each rule actor is configured to implement a corresponding rule based at least in part on a rule definition; and

the computer program product further includes computer instructions to compile the rule definition, including by creating a class based on which the rule actor is instantiated.

18. The computer program product of claims 17 , wherein compiling the rule definition includes configuring a router to route the data unit to the rule actor based at least in part on the presence of the data value in the data unit.

19. The computer program product of claims 17 , wherein the rule actor is based at least in part on a rule definition and wherein the processor is configured to receive a modified version of the rule definition and to replace the rule actor with a modified rule actor based on the modified version of the rule definition.

20. The computer program product of claims 17 , wherein the rule actor implements a finite state machine to apply the rule.

Assignments (2)
SECURITY AGREEMENT Recorded Feb 6, 2026
From: GLASSBEAM, INC.
To: BLUE OWL CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 074733/0388 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2018
From: NARASIMHA, BHARADWAJ; AGARWAL, ASHOK
To: GLASSBEAM, INC.
Reel/Frame 047008/0286 →
Continuity (1)
Provisional Application 62549342 · Aug 23, 2017