Method for performing real-time analytics using a business rules engine on real-time heterogeneous materialized data views
First Claim
1. A method comprising:
- monitoring, by a computer, a real-time stream of data to detect a change in a value of a data element of the real-time stream of data, wherein the real-time stream of data is received from an external system;
responsive to detecting the change, materializing a real-time view of the change;
determining that the real-time view satisfies a rule condition of a user-defined business rule, wherein the user-defined business rule sets forth the rule condition, a subsequent particular event, and a corresponding action to be taken when the rule condition is satisfied; and
responsive to determining that the rule condition is satisfied, triggering the corresponding action of the user-defined business rule, wherein triggering the corresponding action comprisesselectively forestalling the corresponding action until the subsequent particular event occurs, andcancelling the corresponding action if the subsequent particular event does not occur during a specified time duration.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for performing real-time analytics using a business rules engine on real time heterogeneous materialized data views is disclosed. The method comprises processing of rows produced by views corresponding to events. The rows are processed according to business rules by a view engine. Views with conditions equivalent to rule conditions are subscribed to by a rule engine, which outputs action messages corresponding to the rule condition. Where the rule condition is satisfied, a statement to that effect is sent, with any available reportlets, to an alert engine. The alert engine handles alert states corresponding to the action statement, saves any corresponding reportlets, and generates a message to fire an alert to a notification engine. The notification engine formats the alert and sends the alert by a selected medium, such as email, a webservice call, or another network protocol.
-
Citations
26 Claims
-
1. A method comprising:
-
monitoring, by a computer, a real-time stream of data to detect a change in a value of a data element of the real-time stream of data, wherein the real-time stream of data is received from an external system; responsive to detecting the change, materializing a real-time view of the change; determining that the real-time view satisfies a rule condition of a user-defined business rule, wherein the user-defined business rule sets forth the rule condition, a subsequent particular event, and a corresponding action to be taken when the rule condition is satisfied; and responsive to determining that the rule condition is satisfied, triggering the corresponding action of the user-defined business rule, wherein triggering the corresponding action comprises selectively forestalling the corresponding action until the subsequent particular event occurs, and cancelling the corresponding action if the subsequent particular event does not occur during a specified time duration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
monitoring, by a computer, a real-time stream of data to detect a change in a value of a data element of the real-time stream of data, wherein the real-time stream of data is received from an external system; responsive to detecting the change, materializing a real-time view of the change; determining that the real-time view satisfies a rule condition of a user-defined business rule, wherein the user-defined business rule sets forth the rule condition, a subsequent particular event, and a corresponding action to be taken when the rule condition is satisfied; and responsive to determining that the rule condition is satisfied, triggering the corresponding action of the user-defined business rule, wherein triggering the corresponding action comprises tracking at least one of a raised and a lowered state for each unique tuple of a plurality of tuples, wherein each unique tuple of the plurality of tuples corresponds to one unique column of a plurality of columns of the data received from the external system, for each unique tuple of the plurality of tuples, excluding an identifier that identifies the unique column corresponding to the unique tuple from the corresponding action when the unique tuple is set to the raised state, or including the identifier that identifies the unique column corresponding to the unique tuple in the corresponding action when the unique tuple is not set to the raised state, and cancelling the corresponding action when no columns are included in the corresponding action.
-
-
11. A computer-implemented system for performing real-time analytics on heterogeneous data views, comprising:
-
a processor; an agent recorded on a medium readable by the processor, the agent executed by the processor to monitor a real-time stream of data to detect a change in a value of a data element of the real-time stream of data, wherein the real-time stream of data is received from an external system; a view engine recorded on a medium readable by the processor, the view engine executed by the processor to receive the change from the agent, to materialize a real-time view of the change, wherein the materialized real-time view comprises a business view and a hidden view, and wherein the business view is used to define a business rule; a rule engine recorded on a medium readable by the processor, the rule engine executed by the processor to receive the materialized real-time view from the view engine, to subscribe to the hidden view, wherein the hidden view includes a condition equivalent to a rule condition of the user-defined business rule, to selectively forestall generating of an action message until a subsequent particular event occurs, and to cancel the generating of the action message if the subsequent particular event does not occur during a specified time duration; an alert engine recorded on a medium readable by the processor, the alert engine executed by the processor to receive the action message to take an action from the view engine, to handle an alert state corresponding to the message, and to generate a request to fire an alert; and a notification engine recorded on a medium readable by the processor, the notification engine executed by the processor to receive the request from the alert engine, to format the alert as a notice, and to send the notice to a user. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system for performing real-time analytics on heterogeneous data views, comprising:
-
a processor; an agent recorded on a medium readable by the processor, the agent executed by the processor to monitor a real-time stream of data to detect a change in a value of a data element of the real-time stream of data, wherein the real-time stream of data is received from an external system; a view engine recorded on a medium readable by the processor, the view engine executed by the processor to receive the change from the agent, to materialize a real-time view of the change, wherein the materialized real-time view comprises a business view and a hidden view, and wherein the business view is used to define a business rule; a rule engine recorded on a medium readable by the processor, the rule engine executed by the processor to receive the materialized real-time view from the view engine, to subscribe to the hidden view, wherein the hidden view includes a condition equivalent to a rule condition of the user-defined business rule, and to generate an action message to take an action corresponding to the rule condition, wherein the rule engine is further configured to determine that the action message includes a clause to track at least one of a raised and a lowered state for each unique tuple of a plurality of tuples, wherein each unique tuple of the plurality of tuples corresponds to one unique column of a plurality of columns of the real-time stream of data received from the external system; an alert engine recorded on a medium readable by the processor, the alert engine executed by the processor to receive the action message from the view engine, to handle an alert state corresponding to the action message, and to generate a request to fire an alert, wherein the request to fire the alert includes identifiers that identify each of the unique columns corresponding to unique tuples not having the raised stated but does not include identifiers that identify each of the unique columns corresponding to the unique tuples having the raised state; and a notification engine recorded on a medium readable by the processor, the notification engine executed by the processor to receive the request from the alert engine, to format the alert as a notice, and to send the notice to a user.
-
-
22. In a computer system for monitoring business activity, a computer-readable storage medium having a computer-readable program code embodied therein for causing the computer system to:
-
monitor a real-time stream of data to detect a change in a value of a data element of the real-time stream of data, wherein the real-time stream of data is received from an external system; responsive to detecting the change, materialize a real-time view of the change, wherein the materialized real-time view comprises a business view and a hidden view, and wherein the business view is used to define a business rule; subscribe to the hidden view, wherein the hidden view includes a condition equivalent to a rule condition of the user-defined business rule; selectively forestall generating an action message until a subsequent particular event occurs; cancel the generating of the action message when the subsequent particular event does not occur during a specified time duration; handle an alert state corresponding to the message; request that an alert be fired; format the alert as a notice; and send the notice to a user. - View Dependent Claims (23, 24, 25)
-
-
26. In a computer system for monitoring business activity, a computer-readable storage medium having a computer readable program code embodied therein for causing the computer system to:
-
monitor a real-time stream of data to detect a change in a value of a data element of the real-time stream of data, wherein the real-time stream of data is received from an external system; responsive to detecting the change, materialize a real-time view of the change, wherein the materialized real-time view comprises a business view and a hidden view, and wherein the business view is used to define a business rule; subscribe to the hidden view, wherein the hidden view includes a condition equivalent to a rule condition of the user-defined business rule; generate an action message to take an action corresponding to the rule condition specified by the user-defined business rule based upon the received real-time stream of data; determine that the action message includes a clause to track at least one of a raised and a lowered state for each unique tuple of a plurality of tuples; handle an alert state corresponding to the message; request that an alert be fired; format the alert as a notice; and send the notice to a user.
-
Specification