Communities that gather functionally identical or complementary cloud services aim to provide better visibility, efficiency, and market share. This paper investigates the issue of forming these communities in distributed decision-making settings under incomplete information. By incomplete information, we mean only partial information about the individual performance of cloud services within communities and about how they will behave within these communities is available. Forming communities in these particular settings is still an open problem. Most of the existing models require real-time global knowledge about the services and high computational complexity, which makes the community formation extremely hard and time-consuming. In this paper, we propose a strategic Distributed Decision-making Mechanism (DDM) that regulates the cloud services decision-making process. DDM first generates an initial set of data based on information obtained from existing cloud services regarding their single and cooperative efficiency. By analyzing this set and on the basis of a distance function, the decision-making mechanism with regard to which community to form is implemented as a decision profile of strategies and their expected utility computed in terms of computational efficiency. DDM efficiently and systematically helps 1) communities find appropriate cloud services to invite as new members and 2) single services find suitable communities to join. To evaluate the proposed mechanism, we performed experiments using real data including 142 users and 4,000 cloud services obtained from the CloudArmor, CloudHarmony, and WS-DREAM datasets. The experimental results show that our algorithms outperform the existing solutions.
KEYWORDScloud services, community of services, distributed decision-making
INTRODUCTIONModern applications are nowadays developed using service-oriented architecture and web services technology where the cloud's software as a service (SaaS) is de facto model for software delivery. To make these applications more efficient and adaptive to the new requirements of being flexible, cloud services including SaaS, platform as a service (PaaS), infrastructure as a service (IaaS), and backend as a service (BaaS) are shifted, from the perspective of design and engineering, from passive and individual components to intelligent, autonomous, and collaborative-based components having common goals. 1-4 Being collaborative entails new challenges towards analyzing the overall system's performance in achieving these common goals. 5-8 One of the initiatives towards strengthening this collaboration among services is capitalizing on the concept of virtual communities. 9-11 A virtual community of services is defined as a group of services offering similar and complementary functionalities with diverse non-functional properties that can ensure the inter-community and intra-community interactions.Despite the existence of the current services technologies (e.g., WSDL and SOAP) and cloud developments that enable developing virtual commun...