“…Clearly, the performance and robustness of a decentralized service orchestration would benefit from placing each orchestration engine as close as possible to the component services that it manages. But neither the above method nor other similar decentralized orchestration methods [14], [9], [5], [19], [3] help designers to optimize the communication overhead between component services. This paper presents a method for partitioning activities in an orchestration and assigning services to activities, in such a way as to minimize the communication overhead, while maximizing the QoS expressed in terms of combinations of properties such as time, cost, reliability, etc.…”