Method for applying stochastic control optimization for messaging systems
First Claim
1. A computer implemented method for controlling when to send messages in a stream processing system, the computer implemented method comprising:
- determining a policy utilizing probability statistics and a cost function, wherein the policy specifies a first set of conditions for sending a message immediately from an upstream transform in an upstream server device to a downstream transform in a downstream server device via a network link and a second set of conditions for suppressing sending the message from the upstream transform in the upstream server device to the downstream transform in the downstream server device via the network link;
setting by the downstream transform in the downstream server device a threshold for upstream filtering of the messages sent from a plurality of upstream transforms in a plurality of upstream server devices to the downstream transform in the downstream server device based upon the policy;
sending by the downstream transform in the downstream server device the threshold for the upstream filtering of the messages to the plurality of upstream transforms in the plurality of upstream server devices via the network link;
filtering the messages by the plurality of upstream transforms in the plurality of upstream server devices during stream processing by selecting which of the messages to send from the plurality of upstream transforms based upon the threshold for the upstream filtering sent by the downstream transform in the downstream server device; and
determining by the downstream transform in the downstream server device whether to change the threshold for the upstream filtering by the plurality of upstream transforms in the plurality of upstream server devices during the stream processing based on a current state of the downstream transform, wherein the current state is one of a plurality of states that include the threshold for the upstream filtering, a number of tuples currently available for the downstream transform, a penalty for having fewer than a predetermined number of tuples currently available for the downstream transform during a unit of time, and a number of time units during which the downstream transform has fewer than the predetermined number of tuples, and wherein the penalty is based upon the number of time units during which the downstream transform has fewer than the predetermined number of tuples.
0 Assignments
0 Petitions
Accused Products
Abstract
A computer implemented method, apparatus, and computer usable program code for controlling when to send messages in a stream processing system. A policy is determined by utilizing probability statistics and a cost function prior to stream processing. The policy specifies under which conditions a message is sent eagerly and under which other conditions the message is delayed. A filter is operated during stream processing that selects which of the messages to send from a sending transform based upon a threshold. A controller is operated during stream processing that observes a current state of a receiving transform and that applies the policy based on the current state to determine whether to change the threshold.
-
Citations
20 Claims
-
1. A computer implemented method for controlling when to send messages in a stream processing system, the computer implemented method comprising:
-
determining a policy utilizing probability statistics and a cost function, wherein the policy specifies a first set of conditions for sending a message immediately from an upstream transform in an upstream server device to a downstream transform in a downstream server device via a network link and a second set of conditions for suppressing sending the message from the upstream transform in the upstream server device to the downstream transform in the downstream server device via the network link; setting by the downstream transform in the downstream server device a threshold for upstream filtering of the messages sent from a plurality of upstream transforms in a plurality of upstream server devices to the downstream transform in the downstream server device based upon the policy; sending by the downstream transform in the downstream server device the threshold for the upstream filtering of the messages to the plurality of upstream transforms in the plurality of upstream server devices via the network link; filtering the messages by the plurality of upstream transforms in the plurality of upstream server devices during stream processing by selecting which of the messages to send from the plurality of upstream transforms based upon the threshold for the upstream filtering sent by the downstream transform in the downstream server device; and determining by the downstream transform in the downstream server device whether to change the threshold for the upstream filtering by the plurality of upstream transforms in the plurality of upstream server devices during the stream processing based on a current state of the downstream transform, wherein the current state is one of a plurality of states that include the threshold for the upstream filtering, a number of tuples currently available for the downstream transform, a penalty for having fewer than a predetermined number of tuples currently available for the downstream transform during a unit of time, and a number of time units during which the downstream transform has fewer than the predetermined number of tuples, and wherein the penalty is based upon the number of time units during which the downstream transform has fewer than the predetermined number of tuples. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A data processing system for controlling when to send messages, comprising:
-
a storage device, wherein the storage device stores a set of instructions; and a processing unit, wherein the processing unit executes the set of instructions to determine a policy utilizing probability statistics and a cost function, wherein the policy specifies a first set of conditions for sending a message immediately from an upstream transform in an upstream server device to a downstream transform in a downstream server device via a network link and a second set of conditions for suppressing sending the message from the upstream transform in the upstream server device to the downstream transform in the downstream server device via the network link;
set by the downstream transform in the downstream server device a threshold for upstream filtering of the messages sent from a plurality of upstream transforms in a plurality of upstream server devices to the downstream transform in the downstream server device based upon the policy;
send by the downstream transform in the downstream server device the threshold for the upstream filtering of the messages to the plurality of upstream transforms in the plurality of upstream server devices via the network link;
filter the messages by the plurality of upstream transforms in the plurality of upstream server devices during stream processing by selecting which of the messages to send from the plurality of upstream transforms based upon the threshold for the upstream filtering sent by the downstream transform in the downstream server device; and
determine by the downstream transform in the downstream server device whether to change the threshold for the upstream filtering by the plurality of upstream transforms in the plurality of upstream server devices during the stream processing based on a current state of the downstream transform, wherein the current state is one of a plurality of states that include the threshold for the upstream filtering, a number of tuples currently available for the downstream transform, a penalty for having fewer than a predetermined number of tuples currently available for the downstream transform during a unit of time, and a number of time units during which the downstream transform has fewer than the predetermined number of tuples, and wherein the penalty is based upon the number of time units during which the downstream transform has fewer than the predetermined number of tuples. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A non-transitory computer readable medium encoded with computer executable instructions for controlling messages in a stream processing system, the non-transitory computer readable medium comprising:
- computer executable instructions for determining a policy utilizing probability statistics and a cost function, wherein the policy specifies a first set of conditions for sending a message immediately from an upstream transform in an upstream server device to a downstream transform in a downstream server device via a network link and a second set of conditions for suppressing sending the message from the upstream transform in the upstream server device to the downstream transform in the downstream server device via the network link;
computer executable instructions for setting by the downstream transform in the downstream server device a threshold for upstream filtering of the messages sent from a plurality of upstream transforms in a plurality of upstream server devices to the downstream transform in the downstream server device based upon the policy;
computer executable instructions for sending by the downstream transform in the downstream server device the threshold for the upstream filtering of the messages to the plurality of upstream transforms in the plurality of upstream server devices via the network link;
computer executable instructions for filtering the messages by the plurality of upstream transforms in the plurality of upstream server devices during stream processing by selecting which of the messages to send from the plurality of upstream transforms based upon the threshold for the upstream filtering sent by the downstream transform in the downstream server device; and
computer executable instructions for determining by the downstream transform in the downstream server device whether to change the threshold for the upstream filtering by the plurality of upstream transforms in the plurality of upstream server devices during the stream processing based on a current state of the downstream transform, wherein the current state is one of a plurality of states that include the threshold for the upstream filtering, a number of tuples currently available for the downstream transform, a penalty for having fewer than a predetermined number of tuples currently available for the downstream transform during a unit of time, and a number of time units during which the downstream transform has fewer than the predetermined number of tuples, and wherein the penalty is based upon the number of time units during which the downstream transform has fewer than the predetermined number of tuples. - View Dependent Claims (17, 18, 19, 20)
- computer executable instructions for determining a policy utilizing probability statistics and a cost function, wherein the policy specifies a first set of conditions for sending a message immediately from an upstream transform in an upstream server device to a downstream transform in a downstream server device via a network link and a second set of conditions for suppressing sending the message from the upstream transform in the upstream server device to the downstream transform in the downstream server device via the network link;
Specification