Patent ID: 7487206

Claim:
A computer implemented method for providing load diffusion to perform a join operation over a data stream pair using a distributed stream processing system, the computer implemented method comprising: receiving the data stream pair for correlation, wherein the data stream pair comprises data, wherein the data are tuples, and wherein the data stream pair includes a first stream and a second stream; partitioning the data stream pair using correlation constraints to form a partitioned data stream pair, wherein the data stream pair is partitioned in a single stream partition process or a coupled stream partition process, wherein the single stream partition process further comprises: partitioning the first stream into portions; replicating the second stream on each node in a set of server nodes; distributing the portions to different nodes within the set of server nodes; and switching a replicated stream selection and a partitioned stream selection based on stream rate changes; wherein the coupled stream partition process further comprises: partitioning the first stream into disjoint segments; partitioning the second stream into overlapped segments; grouping the disjoint segments and the overlapped segments into coupled segments according to the correlation constraints; distributing the coupled segments among the set of server nodes; dynamically switching a master stream selection and a slave stream selection based on the stream rate changes; and adjusting a segment length based on changes in the set of server nodes processing the data stream pair; switching between the single stream partition process and the coupled stream partition process based on how many nodes in the set of server nodes, sliding window sizes, and the segment length; distributing the partitioned data stream pair among the set of server nodes for load diffusion; monitoring load conditions of nodes within the set of server nodes; and monitoring arrival rates of the data stream pair.