Summary Service-Oriented Computing (SOC) enables the composition of loosely coupled service agents provided with varying Quality of Service (QoS) levels, effectively forming a multiagent system (MAS). Selecting a (near-)optimal set of services for a composition in terms of QoS is crucial when many functionally equivalent services are available. As the number of distributed services, especially in the cloud, is rising rapidly, the impact of the network on the QoS keeps increasing. Despite this and opposed to most MAS approaches, current service approaches depend on a centralized architecture which cannot adapt to the network. Thus, we propose a scalable distributed architecture composed of a flexible number of distributed control nodes. Our architecture requires no changes to existing services and adapts from a centralized to a completely distributed realization by adding control nodes as needed. Also, we propose an extended QoS aggregation algorithm that allows to accurately estimate network QoS. Finally, we evaluate the benefits and optimality of our architecture in a distributed environment.
In @cite_2 constraints on the choice of providers are given, requiring certain services to be executed on the same provider. Introducing such constraints for critical services could also reduce network delay and transfer times to some extent. This would require a significant effort to introduce such heuristic constraints though, while still not necessarily leading to a (near-)optimal solution.
@cite_2
2024250897
Service Oriented Architectures enable a multitude of service providers to provide loosely coupled and interoperable services at different Quality of Service and cost levels. This paper considers business processes composed of activities that are supported by service providers. The structure of a business process may be expressed by languages such as BPEL and allows for constructs such as sequence, switch, while, flow, and pick. This paper considers the problem of finding the set of service providers that minimizes the total execution time of the business process subject to cost and execution time constraints. The problem is clearly NP-hard. However, the paper presents an optimized algorithm that finds the optimal solution without having to explore the entire solution space. This algorithm can be used to find the optimal solution in problems of moderate size. A heuristic solution is also presented. Thorough experimental studies, based on random business processes, demonstrate that the heuristic algorithm was able to produce service provider allocations that result in execution times that are only a few percentage points (less than 2.5 ) worse than the allocations obtained by the optimal algorithm while examining a tiny fraction of the solution space (tens of points versus millions of points).