Adaptive scheduling for shared window joins over data streams