SQPR: Stream query planning with reuse
The Design of the Borealis Stream Processing Engine