Patent ID: 7826365

Claim:
A method for resource allocation for a data stream processing system formed of a plurality of nodes, comprising: measuring a consumption/production rate parameter at each node; transferring measured parameters to parent nodes; applying reduction rules to obtain equivalent parameters for any non-leaf node; allocating a resource budget to any node without predecessors; upon receiving the resource budget, applying predetermined rules for an elementary tree of the data stream, computing a resource budget for the elementary tree and its children by calculating a moving average of a previous allocation and a current value of an allocation; and sending a calculated resource budget to all children, wherein the plurality of nodes comprise central processing units (CPUs) that process data to generate an output stream, and wherein computing the resource budget comprises determining an allocation of resources amongst the CPUs to maximize a weighted sum of throughputs of the output stream, each weight of a throughput being based upon an importance of the throughput of the output stream.