Patent ID: 8639809

Claim:
A computer-implemented method of processing a data stream, in a data streaming environment comprising a plurality of processing elements executing on a plurality of compute nodes, wherein each of the plurality of compute nodes hosts one or more of the plurality of processing elements, wherein the plurality of processing elements are interconnected by an operator graph, and wherein each of the processing elements is configured to receive an incoming tuple of the data stream and to perform a respective one or more processing operations on the incoming tuple, comprising: receiving a first tuple of the data stream to be processed that includes a plurality of attributes; calculating, by operation of one or more computer processors, an estimated processing time for processing the received first tuple, based at least in part on one or more attributes of the plurality of attributes; upon determining the calculated estimated processing time does not exceed a predetermined threshold time, processing the first tuple in a first manner using a first execution path through the operator graph; and upon determining the calculated estimated processing time exceeds the predetermined threshold time, processing the received first tuple comprising at least one of (i) discarding the first tuple, (ii) storing the first tuple to be processed as idle resources become available, and upon determining that at least one idle resource in the first execution path is available, processing the stored first tuple using the first execution path, and (iii) processing the first tuple using a second execution path through the operator graph, the second execution path distinct from the first execution path.