Patent ID: 7613848

Claim:
A method on a current processing element for dynamically stabilizing a stream processing system, the method comprising: receiving at least one computing resource allocation target; determining that a plurality of downstream processing elements are communicatively coupled to at least one upstream processing element, wherein each of the downstream processing elements in the plurality of downstream processing elements consumes data packets produced by the upstream processing element received on an output stream associated with the upstream processing element, wherein each of the downstream processing elements and the upstream processing element are each associated with at least one input buffer, wherein each downstream processing element processes data packets as they arrive in the input buffer associated therewith; determining that an input data flow rate of the upstream processing element varies; dynamically allocating the computing resource to a current processing element in response to the input data flow rate of the upstream processing element, wherein the allocating the computing resource is based on: an input buffer occupancy of the current processing element; at least one long-term averaged CPU goal of the current processing element; and a maximum input rate of the at least one downstream processing element.