Scaling event processing using distributed flows and map-reduce operations
First Claim
1. A method comprising:
- determining a first event ordering requirement based on a first continuous event processing query;
determining a second event ordering requirement based on a second continuous event processing query;
determining a first type of distribution flow to be used to distribute events from a first event stream to at least a first computing node of a plurality of computing nodes that are configured to execute the first continuous event processing query;
determining a second type of distribution flow to be used to distribute events from a second event stream to at least a second computing node of the plurality of computing nodes that are configured to execute the second continuous event processing query;
ordering, at the first computing node, events from the first event stream according to a first ordering semantic based at least in part on the first event ordering requirement and the first type of distribution flow, the ordering comprising;
partitioning the events of the first event stream into a first event and at least a second event for processing across the first computing node and at least one additional computing node of the plurality of computing nodes;
transmitting the first event for processing by the first computing node; and
transmitting at least the second event for processing by the additional computing node, the first event and the second event processed in accordance with the first ordering semantic; and
ordering, at the second computing node, events from the second event stream according to a second ordering semantic based at least in part on the second event ordering requirement and the second type of distribution flow, the second ordering semantic being different from the first ordering semantic.
1 Assignment
0 Petitions
Accused Products
Abstract
Some event ordering requirements can be determined based on continuous event processing queries. Other event ordering requirements can be determined based on distribution flow types being used to distribute events from event streams to node executing the queries. Events from event streams can be ordered according to ordering semantics that are based on a combination of all of these event ordering requirements. Additionally, virtual computing nodes can be associated with constraints, and computing processors can be associated with capabilities. Virtual computing nodes for processing event streams can be assigned to execute on various computing processors based on both these constraints and capabilities. Additionally, for each of several events in an event stream, a ratio between a total latency and a communication latency can be for determined. Based on an average of these ratios, a quantity of reducing nodes that will be involved in a map-reduce operation can be selected.
562 Citations
20 Claims
-
1. A method comprising:
-
determining a first event ordering requirement based on a first continuous event processing query; determining a second event ordering requirement based on a second continuous event processing query; determining a first type of distribution flow to be used to distribute events from a first event stream to at least a first computing node of a plurality of computing nodes that are configured to execute the first continuous event processing query; determining a second type of distribution flow to be used to distribute events from a second event stream to at least a second computing node of the plurality of computing nodes that are configured to execute the second continuous event processing query; ordering, at the first computing node, events from the first event stream according to a first ordering semantic based at least in part on the first event ordering requirement and the first type of distribution flow, the ordering comprising; partitioning the events of the first event stream into a first event and at least a second event for processing across the first computing node and at least one additional computing node of the plurality of computing nodes; transmitting the first event for processing by the first computing node; and transmitting at least the second event for processing by the additional computing node, the first event and the second event processed in accordance with the first ordering semantic; and ordering, at the second computing node, events from the second event stream according to a second ordering semantic based at least in part on the second event ordering requirement and the second type of distribution flow, the second ordering semantic being different from the first ordering semantic. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable medium storing computer-executable instructions that, when executed by one or more processors, configures one or more computer systems to perform at least:
-
instructions that cause the one or more processors to determine a first event ordering requirement based on a first continuous event processing query; instructions that cause the one or more processors to determine a second event ordering requirement based on a second continuous event processing query; instructions that cause the one or more processors to determine a first type of distribution flow to be used to distribute events from a first event stream to at least a first computing node of a plurality of computing nodes that are configured to execute the first continuous event processing query; instructions that cause the one or more processors to determine a second type of distribution flow to be used to distribute events from a second event stream to at least a second computing node of the plurality of computing nodes that are configured to execute the second continuous event processing query; instructions that cause the one or more processors to order events from the first event stream according to a first ordering semantic at the first computing node based at least in part on the first event ordering requirement and the first type of distribution flow, the instructions that cause the one or more processors to order events further comprising; instructions that cause the one or more processors to partition the events of the first event stream into a first event and at least a second event for processing across the first computing node and at least one additional computing node of the plurality of computing nodes; instructions that cause the one or more processors to transmit the first event for processing by the first computing node; and instructions that cause the one or more processors to transmit at least the second event for processing by the additional computing node, the first event and the second event processed in accordance with the first ordering semantic; and instructions that cause the one or more processors to order, at the second computing node, events from the second event stream according to a second ordering semantic based at least in part on the second event ordering requirement and the second type of distribution flow, the second ordering semantic being different from the first ordering semantic. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A system, comprising:
-
a memory storing a plurality of instructions; and a processor configured to access the memory, the processor further configured to execute the plurality of instructions to at least; determine a first event ordering requirement based on a first continuous event processing query; determine a second event ordering requirement based on a second continuous event processing query; determine a first type of distribution flow to be used to distribute events from a first event stream to at least a first computing node of a plurality of computing nodes that are configured to execute the first continuous event processing query; determine a second type of distribution flow to be used to distribute events from a second event stream to at least a second computing node of the plurality of computing nodes that are configured to execute the second continuous event processing query; order events from the first event stream according to a first ordering semantic at the first computing node based at least in part on the first event ordering requirement and the first type of distribution flow, the instructions to order further comprising instructions to; partition the events of the first event stream into a first event and at least a second event for processing across the first computing node and at least one additional computing node of the plurality of computing nodes; transmit the first event for processing by the first computing node; and transmit at least the second event for processing by the additional computing node, the first event and the second event processed in accordance with the first ordering semantic; and order, at the second computing node, events from the second event stream according to a second ordering semantic based at least in part on the second event ordering requirement and the second type of distribution flow, the second ordering semantic being different from the first ordering semantic. - View Dependent Claims (17, 18, 19, 20)
-
Specification