Top-k pipe join
In the context of service composition and orchestration, service invocation is typically scheduled according to execution plans, whose topology establishes whether different services are to be invoked in parallel or in a sequence. In the latter case, we may have a configuration, called pipe join, in which the output of a service is used as input for another service. When the services involved in a pipe join output results sorted by score, the problem arises of efficiently determining the join tuples (aka combinations) with the highest combined scores. In this paper we study different execution strategies related to the pipe join configuration. First, we consider a strategy that minimizes the access costs to achieve a target number of combinations. Then, we propose a strategy that explicitly considers the scores of the output tuples in order to provide deterministic guarantees that the top-k combinations have been found. Finally, a hybrid strategy is presented.