Complex event processing using pseudo-clock
First Claim
Patent Images
1. A method, comprising:
- receiving, by a first processing device of a first event processing node from a data source, an event data item indicating a change of a system state, the event data item comprising a unique event identifier, a timestamp from the data source, and a value of a state variable associated with the system state;
responsive to determining a first difference between the timestamp and a first value of a first pseudo-clock of the first event processing node, adjusting, by the first processing device, the first value of the first pseudo-clock by the first difference;
receiving, by a second processing device of a second event processing node, the event data item from the data source, wherein the data source is different from the first event processing node and from the second event processing node;
responsive to determining a second difference between the timestamp and a second value of a second pseudo-clock of the second event processing node, synchronizing a second state of the second event processing node with a first state of the first event processing node by adjusting, by the second processing device, the second value of the second pseudo-clock by the second difference, wherein the first difference is unequal to the second difference;
applying, by the first processing device, an event processing rule to values of the event data item to produce an event processing command comprising a command identifier derived from a first identifier of the event processing rule and the unique event identifier of the event data item; and
executing, by the first processing device, the event processing command to perform an action, wherein the action is associated with the command identifier and generates one or more parameters to be passed to a software module of the first event processing node.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods for complex event processing. An example method may comprise: receiving, by a processing device of a first event processing node, an event data item reflecting a change of a system state, the event data item comprising a unique event identifier and a timestamp; and, responsive to determining a difference between the timestamp and a value of a pseudo-clock associated with the first event processing node, synchronizing the state of the first event processing node with the state of a second event processing node by adjusting the pseudo-clock by the difference.
-
Citations
13 Claims
-
1. A method, comprising:
-
receiving, by a first processing device of a first event processing node from a data source, an event data item indicating a change of a system state, the event data item comprising a unique event identifier, a timestamp from the data source, and a value of a state variable associated with the system state; responsive to determining a first difference between the timestamp and a first value of a first pseudo-clock of the first event processing node, adjusting, by the first processing device, the first value of the first pseudo-clock by the first difference; receiving, by a second processing device of a second event processing node, the event data item from the data source, wherein the data source is different from the first event processing node and from the second event processing node; responsive to determining a second difference between the timestamp and a second value of a second pseudo-clock of the second event processing node, synchronizing a second state of the second event processing node with a first state of the first event processing node by adjusting, by the second processing device, the second value of the second pseudo-clock by the second difference, wherein the first difference is unequal to the second difference; applying, by the first processing device, an event processing rule to values of the event data item to produce an event processing command comprising a command identifier derived from a first identifier of the event processing rule and the unique event identifier of the event data item; and executing, by the first processing device, the event processing command to perform an action, wherein the action is associated with the command identifier and generates one or more parameters to be passed to a software module of the first event processing node. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A system comprising:
-
a first memory; and a first processing device of a first event processing node, the first processing device operatively coupled to the first memory, the first processing device to; receive an event data item indicating a change of a system state, the event data item comprising a unique event identifier, a timestamp from a data source, and a value of a state variable associated with the system state; and responsive to determination of a first difference between the timestamp and a first value of a first pseudo-clock of the first event processing node, adjust the first value of the first pseudo-clock by the first difference; a second memory; and a second processing device of a second event processing node geographically separated from the first event processing node, the second event processing node operatively coupled to the second memory, the second processing device to; receive the event data item from the data source, wherein the data source is different from the first event processing node and from the second event processing node; responsive to determination of a second difference between the timestamp and a second value of a second pseudo-clock of the second event processing node, synchronize a second state of the second event processing node with a first state of the first event processing node by adjusting the second value of the second pseudo-clock by the second difference, wherein the first difference is unequal to the second difference; and wherein the first processing device is further to; apply an event processing rule to values of the event data item to produce an event processing command comprising a command identifier derived from a first identifier of the event processing rule and the unique event identifier of the event data item; and execute the event processing command to perform an action, wherein the action is associated with the command identifier and is to generate one or more parameters to be passed to a software module of the first event processing node. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A computer-readable non-transitory storage medium comprising executable instructions that, when executed by a processing device of a first event processing node, cause the processing device to:
-
receive, by the processing device from a data source, an event data item indicating a change of a system state, the event data item comprising a unique event identifier, a timestamp from the data source, and a value of a state variable associated with the system state; responsive to determining a first difference between the timestamp and a first value of a first pseudo-clock of the first event processing node, adjust the value of the first pseudo-clock by the first difference; receive, by a second event processing node, the event data item from the data source, wherein the data source is different from the first event processing node and from the second event processing node; responsive to determining a second difference between the timestamp and a second value of a second pseudo-clock of the second event processing node, synchronize a second state of the second event processing node with a first state of the first event processing node by adjusting, by the processing device, the second value of the second pseudo-clock by the second difference, wherein the first difference is unequal to the second difference; and apply, by the second event processing node, an event processing rule to values of the event data item to produce an event processing command comprising a command identifier derived from a first identifier of the event processing rule and the unique event identifier of the event data item; and execute, by the second event processing node, the event processing command to perform an action, wherein the action is associated with the command identifier and is to generate one or more parameters to be passed to a software module of the second event processing node. - View Dependent Claims (12, 13)
-
Specification