Dynamic and evolutionary placement in an event-driven component-oriented network data processing system
First Claim
1. A computer implemented method for dynamic and evolutionary component placement in an event processing system that has at least one producer, at least one consumer, a plurality of nodes and a plurality of links between the at least one producer and the at least one consumer, and a flow graph that represents a plurality of operator components to be executed between the at least one producer and the at least one consumer, the computer implemented method running, in a decentralized manner without requiring any global state or centralized controller, on the plurality of nodes of the event processing system, comprising:
- receiving a description of at least one change to the event processing system;
identifying, at each node of the plurality of nodes, a plurality of next-hop neighbor nodes for each at least one consumer;
assigning a routing value to each of the identified plurality of next-hop neighbor nodes for each at least one consumer to form routing values, and the routing values are updated according to an update rule where the update rule is adaptively selected in response to current network conditions from among a plurality of update rules available at the consumer, and the probability of selecting an update rule depends on the success of the update rule in allowing routing probes to create many different and efficient routes;
estimating, using the routing values in a context of the at least one change to the event processing system, a performance cost of the event processing system based on at least one hypothetical changed placement of the operator components of the flow graph at nodes along at least one path from a producer to a consumer through the next-hop neighbor nodes for each at least one consumer;
autonomously orchestrating, from each producer, hypothetical placement and evaluating the performance cost of the at least one hypothetical changed placement and on the basis of the evaluation autonomously evolving at least one parameter with respect to the at least one hypothetical placement in response to changes in the data, network or other characteristics to improve the performance cost of the at least one hypothetical placement; and
responsive to the autonomously orchestrating and evaluating hypothetical placement, selecting a changed placement of the operator components of the flow graph that minimizes the performance cost of the event processing system relative to the at least one hypothetical changed placement.
1 Assignment
0 Petitions
Accused Products
Abstract
Method, system and computer readable program code for dynamic and evolutionary component placement in an event processing system having producers, consumers, a plurality of nodes between the producers and the consumers, and a flow graph representing operator components to be executed between the producers and the consumers. A description of a change to the system is received. At each node, next-hop neighbor nodes for each consumer are identified. A routing value is assigned to each next-hop neighbor node for each consumer and the routing values are updated according to an update rule that represents a chromosome in a routing probe. The update rule in a routing probe is selectively updated from a plurality of update rules at the consumer. The probability of selecting a particular update rule is reinforced or decayed based on the success of an update rule in allowing routing probes to create many different efficient routes. At each producer, nests of scouting probes are adaptively selected from an available set of nests and dispatched to execute hypothetical placement of a query by an independent agent called a “leader”. A placement of the operator components that minimizes performance cost of the system relative to the hypothetical placement is selected. Each scouting probe contains chromosomes that guide placement. Scouting probes in two different nests have different chromosomes. The performance cost of the hypothetical changed placement is evaluated and the performance evaluation is used to evolve at least one chromosome of a scouting ant in each nest.
-
Citations
27 Claims
-
1. A computer implemented method for dynamic and evolutionary component placement in an event processing system that has at least one producer, at least one consumer, a plurality of nodes and a plurality of links between the at least one producer and the at least one consumer, and a flow graph that represents a plurality of operator components to be executed between the at least one producer and the at least one consumer, the computer implemented method running, in a decentralized manner without requiring any global state or centralized controller, on the plurality of nodes of the event processing system, comprising:
-
receiving a description of at least one change to the event processing system; identifying, at each node of the plurality of nodes, a plurality of next-hop neighbor nodes for each at least one consumer; assigning a routing value to each of the identified plurality of next-hop neighbor nodes for each at least one consumer to form routing values, and the routing values are updated according to an update rule where the update rule is adaptively selected in response to current network conditions from among a plurality of update rules available at the consumer, and the probability of selecting an update rule depends on the success of the update rule in allowing routing probes to create many different and efficient routes; estimating, using the routing values in a context of the at least one change to the event processing system, a performance cost of the event processing system based on at least one hypothetical changed placement of the operator components of the flow graph at nodes along at least one path from a producer to a consumer through the next-hop neighbor nodes for each at least one consumer; autonomously orchestrating, from each producer, hypothetical placement and evaluating the performance cost of the at least one hypothetical changed placement and on the basis of the evaluation autonomously evolving at least one parameter with respect to the at least one hypothetical placement in response to changes in the data, network or other characteristics to improve the performance cost of the at least one hypothetical placement; and responsive to the autonomously orchestrating and evaluating hypothetical placement, selecting a changed placement of the operator components of the flow graph that minimizes the performance cost of the event processing system relative to the at least one hypothetical changed placement.
-
-
2. A computer implemented method for dynamic and evolutionary component placement in an event processing system that has at least one producer, at least one consumer, a plurality of nodes and a plurality of links between the at least one producer and the at least one consumer, a plurality of routing probes and scouting probes, and a flow graph that represents a plurality of operator components to be executed between the at least one producer and the at least one consumer, the computer implemented method running, in a decentralized manner without requiring any global state or centralized controller, on the plurality of nodes of the event processing system, comprising:
-
receiving a description of at least one change to the event processing system; identifying, at each node of the plurality of nodes, a plurality of next-hop neighbor nodes for each at least one consumer; assigning a routing value to each of the identified plurality of next-hop neighbor nodes for each at least one consumer to form routing values, the routing values provided by at least one routing probe and are updated according to an update rule, and where the update rule is adaptively selected in response to current network, data and other conditions from among a plurality of update rules available at the consumer, and the probability of selecting an update rule depends on the success of the update rule in allowing routing probes to create many different and efficient routes; estimating, using the routing values in a context of the at least one change to the event processing system, a performance cost of the event processing system based on at least one hypothetical changed placement of the operator components of the flow graph at nodes along at least one path from a producer to a consumer through the next-hop neighbor nodes for each at least one consumer; autonomously dispatching, from each producer, diverse scouting probes with different parameters that conduct the hypothetical placement and autonomously evaluating the success of these parameters with respect to the scouting probes and evolving at least one parameter with respect to the scouting probes that conduct the at least one hypothetical placement in response to changes in the data, network or other characteristics in order to obtain scouting probes having the evolved at least one parameter that improve the performance cost of placement in the event processing system; and responsive to the autonomously orchestrating and evaluating, selecting a changed placement of the operator components of the flow graph that minimizes the performance cost of the event processing system relative to the at least one hypothetical changed placement. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer program product, comprising:
-
a tangible computer storage medium having computer readable program code for dynamic and evolutionary component placement in an event processing system that has at least one producer, at least one consumer, a plurality of nodes and a plurality of links between the at least one producer and the at least one consumer, a plurality of routing probes and scouting probes, and a flow graph that represents a plurality of operator components to be executed between the at least one producer and the at least one consumer, the computer implemented method running, in a decentralized manner without requiring any global state or centralized controller, on the plurality of nodes of the event processing system, the computer program product comprising; computer readable program code configured for receiving a description of at least one change to the event processing system; computer readable program code configured for identifying, at each node of the plurality of nodes, a plurality of next-hop neighbor nodes for each at least one consumer; computer readable program code configured for assigning a routing value to each of the identified plurality of next-hop neighbor nodes for each at least one consumer to form routing values, the routing values provided by at least one routing probe and are updated according to an update rule, and where the update rule of routing values is adaptively selected in response to current network, data and other conditions from among a plurality of update rules available at the consumer; computer readable program code configured for estimating, using the routing values in a context of the at least one change to the event processing system, a performance cost of the event processing system based on at least one hypothetical changed placement of the operator components of the flow graph at nodes along at least one path from a producer to a consumer through the next-hop neighbor nodes for each at least one consumer; computer readable program code configured for autonomously dispatching, from each producer, diverse scouting probes with different parameters that conduct the hypothetical placement and autonomously evaluating the success of these parameters with respect to the scouting probes and evolving at least one parameter with respect to the scouting probes that conduct the hypothetical placement in response to changes in the data, network or other characteristics in order to obtain scouting probes having the evolved at least one parameter that improve the performance cost of placement in the event processing system; and responsive to the autonomously orchestrating and evaluating, computer readable program code configured for selecting a changed placement of the operator components of the flow graph that minimizes the performance cost of the event processing system relative to the at least one hypothetical changed placement. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A dynamic and evolutionary component placement system in an event processing system that has at least one producer, at least one consumer, a plurality of nodes and a plurality of links between the at least one producer and the at least one consumer, a plurality of routing probes and scouting probes, and a flow graph that represents a plurality of operator components to be executed between the at least one producer and the at least one consumer, the computer implemented method running, in a decentralized manner without requiring any global state or centralized controller, on the plurality of nodes of the event processing system, the dynamic and evolutionary component placement system comprising:
-
a receiver for receiving a description of at least one change to the event processing system; an identifier for identifying, at each node of the plurality of nodes, a plurality of next-hop neighbor nodes for each at least one consumer; an assignor for assigning a routing value to each of the identified plurality of next-hop neighbor nodes for each at least one consumer to form routing values, the routing values provided by at least one routing probe and are updated according to an update rule, and where the update rule of routing values is adaptively selected in response to current network, data and other conditions from among a plurality of update rules available at the consumer; an estimator for estimating, using the routing values in a context of the at least one change to the event processing system, a performance cost of the event processing system based on at least one hypothetical changed placement of the operator components of the flow graph at nodes along at least one path from a producer to a consumer through the next-hop neighbor nodes for each at least one consumer; a dispatcher for autonomously dispatching, from each producer, diverse scouting probes with different parameters that conduct the hypothetical placement and autonomously evaluating the success of these parameters with respect to the scouting probes and evolving at least one parameter with respect to the scouting probes that conduct the hypothetical placement in response to changes in the data, network or other characteristics in order to obtain scouting probes having the evolved at least one parameter that improve the performance cost of placement in the event processing system; and responsive to the autonomously orchestrating and evaluating, a selector for selecting a changed placement of the operator components of the flow graph that minimizes the performance cost of the event processing system relative to the at least one hypothetical changed placement.
-
Specification