SMP-Based Approach for Intelligent Service Interaction

Service-oriented computing is establishing itself as a new computing paradigm in which services advertise their capabilities within a network, and then are used, composed and orchestrated by other services and end-users. Whilst many approaches to matching service providers with consumers of their services have been developed in the past, the proposed approach in this paper takes a different view of the problem in that it does not look for the fittest individual utility, but views it as a constrained optimisation problem that matches between a set of services and a set of service requests. Our approach addresses this problem using an adaptation of the well known stable-marriage problem and demonstrates how matching between services and requests to a certain threshold can be expressed. This will contribute a fair assignment between services and requests based on their preferences. As the current state of the service selection process considers only the view of requests, the proposed approach can ensure several features to the services such as service protection and service quality, e.g. it can ensure the preservation of service availability by redirecting a coming request to a similar service if the current service is busy. Keywords—Service Selection; Stable Marriage Problem (SMP); Selective Strategy


I. INTRODUCTION
Recent research of service selection focuses on matching behaviour, trying to interact with services in a smart way.This can positively impact several relevant big topics on service-oriented computing, such as cloud computing which provides both software and resources as services, and service composition in which aggregation of services are composed to automate a certain job.
The Stable Marriage Problem (SMP) is a well-known problem that has been defined by Gale and Shapley in 1962 [1].An example of the SMP is allocating the right jobs to their most suitable jobseekers, but similarly framed problems with differing cardinality are also considered to be instances of the SMP, such as matching graduated medical students to hospitals.The SMP grantees the stable match between the candidates.
In this paper we will apply a variant of the stable marriage problem to service oriented computing (SOC) and use it to match between service providers and service consumers.Current selection algorithms take the QoS (Quality of Services) constraints of the requestor (service consumer) into account, but do not consider the preferences of the service provider in the process.Our work expands this to include preferences that a service may have towards service requests.Example preferences of a service may include returning customers, payment options and country of origin.The web service selection process should therefore consider the values of both parties.
The remainder of this paper is structured as follows.In Section II we provide the context of Service Selection.In Section III we introduce the background to the SMP research.In Section IV we present an adapted SMP algorithm that is suitable to generate fair and stable matches between services and requests.In Section V we deeply discuss our approach and its expected performance with a hotel booking case study.In Section VI we conclude the paper and outline future work in this area.

II. SERVICE SELECTION
Service selection is the process of choosing the appropriate service which fulfils the client's requirement.Service selection is a key step to affect the whole process of service composition.Different approaches have been applied to match between service providers and consumers.Typically the selection relies on the search function of Universal Description, Discovery and Integration (UDDI) which often provides a relatively poor search facility by allowing only a keyword based search of web services.Consequently, returning unrelated services since UDDI registry encompasses both checked and unchecked services [2].Huang et al. in [3] present an efficient service selection scheme that considers non-functional characteristics while choosing web services by service requesters.Their model considers different data types, and uses multiple criteria decision making (MCDM) with weighted sum model (WSM) to help service requesters evaluate services numerically.They proof using experimental results that their service selection scheme performs much better than the enumerative method, and outperforms other related methods in terms of efficiency and effectiveness.The Figure 1 below illustrates the whole process through the three major stages of Huang's model.
Various definitions of Quality of Service (QoS) has been www.ijacsa.thesai.orgprovided previously; Schmidt in [4] defines the QoS as The degree to which a system, component or process meets customer or user needs or expectations.Alrifai and Risse [5] propose a solution that combines global optimisation with local selection techniques to prevent local selection strategy fails in handling global QoS requirements.They use distributed local selection to find the best web services that satisfy these local constraints.Baldoni et al. [6] show that the semantic matchmaking techniques used in the services is lacking preservation and they provide an approach to overcome these limitations.Yu et al. [7] present a broker-based architecture to facilitate the selection of QoS-based services.Recent approaches of service selection are deeply involved in semantic manner using ontology which draw the attention of many researchers [8] [9] [10] [11] [12].
Discovering the recommended web services needed by users among the vast resources is a significant challenge.Zhong et al. [13] discuss functional attributes and nonfunctional attributes of the web services resources from the resources balanced perception of FQoS (Functional Quality of Service) and QoS.They propose a web service description, discovery and selection mechanism towards balanced perceptions of FQoS and QoS.In this mechanism, FQoS is more used to describe and discover services, and QoS is more used to select services.Due to the perspective differences, they point out several problems on the research on service functions and quality of service.There are big differences among QoS indicators.Due to the similarity between the functional and non-functional attributes, there is an ambiguity of specifying service functions out of QoS [14].The main purpose of designing the Clouds is to provide services to users and providers needs to be made up for sharing their capability and resources [15].Armbrust et al. [16] discuss many obstacles of growth cloud computing paired with the suggested solutions (opportunities) to overcome these issues as depicted in Table I.Also, many organisation worry about the availability of the computing services, which therefore affect the cloud computing workflow.Some software as a service (SaaS) products set a high standard in this regard to prevent the issue of service unavailability such as Google Search [16].Table I shows the services outages and the causes, for Amazon Simple Storage Service (S3), AppEngine and Gmail in 2008.As services providers need to meet the requirement of the consumers, providing a mechanism of matching the services description to the required services is very significant.Meanwhile, massive services of the Internet need to assign the services to the requesters efficiently and automatically.Therefore, providing service matching approach can tackle above issue by redirecting the related request to the most similar available services when the current service is busy.In this paper SMP algorithm will be investigated to improve the process of service selection.

A. Classic SMP Algorithm
In 1962, David Gale and Lloyd Shapley published their paper College admissions and the stability of marriage [1].This paper was the first to formally define the Stable Marriage Problem (SMP), and provide an algorithm for its solution.The SMP is a mechanism that is used to match two sets of the same size, considering preference lists in which each element expresses its preference over the participants of the element in the opposite set [1].Thus, the output has to be stable, which means that the matched pair is satisfied and both candidates have no incentive to disconnect.
A matching M in the original SMP algorithm is a one-toone correspondence between the men and women.If man m and woman w are matched in M , then m and w are called partner in M , and written as m = P M (w) (which is the M-partner of w), w = P M (m) (the M-partner of m).A man m and a woman w are said to block a matching M , or called a blocking pairs for M if m and w are not partners in M , but m prefers w to P M (m) and w prefers m to m = P M (w) [17].Therefore, a matching M is stable when all participants have acceptable partners and there is no possibility of forming blocking pairs.This problem is in interest of a lot of researchers in many different areas from several aspects.
An instance I of SM involves n men and m women, each of whom ranks all n members of the opposite sex in strict order of preference.In I we denote the set of men by m = m1, m2, mn and the set of women by w = w1, w2, ...wn.In SM the preference lists are said to be complete, that is each member of I ranks every member of the opposite sex as depicted in Figure 3.
There are some derived versions of the original SMP algorithm are considered such as SMI (Stable Marriage with incomplete list) to manage problems of unacceptable partner and different set sizes.

B. Gale Shapley Extended Algorithm
The algorithm presented by Gale and Shapley for finding a stable matching uses a simple deferred acceptance strategy, comprising proposals and rejections.There are two possible orientations, depending on who makes the proposals, namely the man-oriented algorithm and the woman-oriented algorithm.In the man-oriented algorithm, each man m proposes in turn to the first woman w on his list to whom he has not previously proposed.If w is free, then she becomes engaged to m.Otherwise, if w prefers m to her current fiancé m, she rejects m, who becomes free, and w becomes engaged to m. Otherwise w prefers her current fiancé to m, in which case w rejects m, and m remains free.This process is repeated while some man remains free.For the woman-oriented algorithm the process is similar, only here the proposals are made by the women.
The man-oriented and woman-oriented algorithms return the man-optimal and woman-optimal stable matching respectively.The man-optimal stable matching has the property that each man obtains his best possible partner in any stable matching.However, while each man obtains his best possible partner, each woman simultaneously obtains her worst possible partner in any stable matching.Correspondingly, when the woman-oriented algorithm is applied, each woman gets her best possible partner while each man get his worst possible partner in any stable matching.
Theorem 1 All possible execution of the Gale-Shapley algorithm (with the men as proposers) yields the same stable matching, and in this stable matching, each man has the best partner that he can have in any stable matching [17].
According to the previous theorem if each man has given his best stable partner, then the result is a stable matching.The stable matching generated by the man-oriented version of the Gale-Shapely algorithm is called man-optimal.However, in the man-optimal stable matching, each woman has the worst partner that she can have in any stable matching, leading to the terms of man-optimal is also woman-pessimal.This results in the next theorem.
Theorem 2 In the man-optimal stable matching, each woman has the worst partner that she can have in any stable matching [17].
The following example in Figure 4 gives different output for both man-optimal and woman optimal for the same instance which formed out of 4 elements.Algorithm 1 Extended Gale-Shapley algorithm [17] 1: assign each person to be free 2: while some man m is free do 3: begin 4: w:= first woman on m's list; 5: if some man p is engaged to w then 6: assign p to be free; 7: assign m and w to be engaged to each other; 8: for each successor m' of m on w' list do 9: delete the pair(m',w) 10: end; The main SMP algorithm performs a one-to-one cardinality over the matched candidates.Furthermore, the relationship of one-to-many is presented in one of the extended SMP algorithms which called Hospital resident (HR), basically many residents assigned to one hospital [19].Whereas in this approach a many-to-many relationship is needed.Hence, we extended the original SMP algorithm to cope with the new requirements of this proposed approach.We will build on this background in section IV where we use the extended Gale-Shapley algorithm in our application to the problem of service selection.
Applying SMP algorithm in services needs first building the preference lists of both services.This can be achieved using service profile to specify the most similar related participants (services in the other pool).Thus, each service from p1 needs to strictly order the services from p2 based on the similarity and vice versa.However, the original SMP algorithm performs a single assignment (one-to-one) for the involved candidates, which at some points does not help especially in the case of allocating more than one service to the right service for example.Figure 5 below illustrates a brief depiction about matching based service selection.

IV. EXTENDED SMP ALGORITHM (DUAL-PROPOSED) FOR SERVICE SELECTION
A. Dual-Proposed Scheme SMP has solved several similar optimisation issues in different fields such as matching jobs to the most suitable jobseekers.Since the SMP algorithm allows only the candidates of the first set (Men) to propose to their first choices, this research devotes to increase the fairness of SMP by allowing the candidates of the second set (Women) to make their own choices i.e. proposes to the best of their choices of the opposite set .To allow the candidates from both sets, dual-proposed scheme should be applied to propose for their preferences.This slight amendment has enhanced the precision of the matching process; it is illustrated in Figure 6 below.In the main SMP algorithm the desire is not controlled by the similarity, thus the assigned candidates are not meant that they are similar to each other.However, in service selection the concept of similarity plays an important role.Therefore, aforementioned extension of the current state of SMP is necessary to be effectively applied in such applications.
A novel matching scheme is needed to achieve smart interaction between the services and their corresponding requests.This led to a quality satisfaction for selecting the appropriate services to the equivalent requests.This improves the current relation in the original SMP algorithm which bases its matching process on the desire of the candidates of the first set regardless the similarity factor.Here the similarity has the same meaning as desire in the original SMP algorithm.Practically, this process gives two different stable matched pairs; respectively man-optimal and woman-optimal.Thus, we enclose a novel way of assigning men and women to each other by adding a selective strategy.This strategy helps to choose the most optimal pair among the final result.For service selection dual-proposed is matching services from different domains that take into account the preferences of both parties.This means that our approach is able to develop match making services that trying to optimise the pairings from both perspectives fairly.This presented matching scheme covers a noticeable hole of the current state of the original SMP algorithm and perfectly assigned to the world of software engineering, serving in several aspects the needed allocation process that requires a high consideration of both sides of matched candidates, for example the approach presented by AlHakami et al. in [20] to enhance the process of detecting cloned software.Also, our approach shows the ability to enhance the quality of allocating the similar services to each other, through considering the desire (similar or equivalence) of the matched services, which result in increased the satisfaction of the candidates in each pair, expecting a high stability.However, the Scheme should expect some limitation in terms of the time feature, as the consideration of the candidates' desire needs more computation and recursion to fulfil and reached the highly required stability.

B. Dual-Proposed Algorithm
The dual-proposed algorithm acts as if it were both man-optimal and woman-optimal.The combination of these two versions that supplemented with a selective strategy using love's degree factor, results in complete concrete dualproposed scheme.The algorithm 2 of dual-proposed scheme consists of two phases followed by the Selective Strategy as following: • Phase 1 man-optimal algorithm.

C. Selective Strategy
In the current state of the SMP algorithms, there are no needs to judge between two pairs to be chosen as an optimal pair.However, if a strategy to choose the optimal pair is raised, a competitive Selective Strategy to support the newly built extension to help choosing the optimal pair is needed.
The selective strategy or choosy strategy as presented in the previously [21], determines two main factors, respectively, love's degree and contrast's degree.Love's degree reflects the degree of love from the view of both involved candidates (services etc.).To converge these views, we add the degree of love for both of participants (in the same pair) candidates and divide the result by two.The final result is the love's degree of the pair.The contrast's degree reflects the difference between the actual love's degree of the involved candidates (services etc.).Thus, the most preferable pair is that with small difference in its contract's degree.This factor helps when two different pairs have the same love's degree.Also, when more than one candidate has the same love's degree with a certain candidate, then the right candidate will be chosen.Figure 7 depicts the calculation of selective strategy upon both services and requests respectively numbers and letters.With regards to the previous example in Figure 4 the new results after apply the selective strategy are as following:   RequestV iew = N ew − W oman − oriented = (1, D), (2, A), (3, B), (4, A), (4, C).The combination of both new versions, each candidate may be assigned to more than one candidates and this based upon the features considered by the selective strategy.
Similarly The following example in Figure 8 considers the selective strategy with different symbols.This example shows different output from the main SMP algorithm, which allows a candidate to be assigned to more than one candidate from the opposite set of participants, which reflects the cardinality of many-to-many.The new algorithm provides different matching pairs from the original man-optimal algorithm.
From above results we can derive the dual-propose-multiallowance as following:

V. CASE STUDY
To apply the SMP algorithm in service selection, it needs first to build the preference lists of both and services.This can achieved using service profile to specify the most similar related participants (services or requests).Each request needs to strictly order the service based on the similarity and vice versa (similar to Figure 8).The traditional SMP algorithm performs a single assignment (one-to-one) for the involved candidates, which does not help especially in the case of allocating more than one service requests to the right service for example.Dual-proposed algorithm has been proposed to fulfil this requirement.Figure 10 shows an engaged service, hotel reservation, to the most suitable requests using SMP algorithm based on the QoS and the values of both candidates.There are different hotel services to show the rooms available, the style of the rooms etc.There are also some hotel reservation requests from the customers or agents.Then the extended dual-proposed algorithm can be applied to choose the best services.The result is matching of service providers (hotels) and consumers (guests) that do not only take into account the preferences of the respective consumers, but also those of the providers.This means that we are now able to develop match making services that not only decide on the basis of the request's preferences, but are actually trying to, within the current set of services requests and services, optimise the pairings from both perspectives fairly.

B. Discussion
The network administrator should act as the stakeholder and take the advantage of monitoring the process of matching services to requests.This provides reliable information such as profile and history details of both services and requests.The result is a service interaction in which optimal assignments of these two parties ensure safety, reliability, dependability and stability to their candidates.
Based on the characteristics of both services and requirements of customers' requests, our approach can start triggering the matching process to allocate the most proper customers' requests to the most appropriate services and considers both views using our smart selective strategy.
Our approach contributes to the service selection by adding the matching behaviour rather than the traditional existing search-based techniques which picking up the required services from the UDDI directory regardless the constraints of the chosen services.
Web services should be dealt with as independent objects that have their own view about incoming consumers' request and are aware of its requirements.Therefore, SMP-based approach gives services rights to whether accept or decline the customers' requests, with regards to their conditions.This can corroborate the concept of equal opportunity which in turn ensures the stability.
Moreover, this approach helps services to check the trust level of the client, which supports both safety and reliability.On demand, the service may choose to reject the client because he demanding highly computational task that may impact other ongoing tasks in the service to meet a quality of service that it promised to other clients.
The following Diagrams 11 and 12 show some considered facets of both consumer's request and web service respectively, in a simple prototype example of hotel reservation.The following Figure 13 depicts an early pre-step of matching consumer's requests to the services of hotel reservation using SMP-Based approach.

VI. CONCLUSION
Stable marriage problem is well-known common matching algorithms, helps in several applications in different aspects of live for instance assigning medical schools graduates students to the most suitable hospitals.The paper presents a newly crucial extension which effectively touches a wide range of software engineering fields such as service selection.Our contribution in this paper is the selective strategy, that compromises between the preferences of the service provider and the service request in a service oriented computing environment.Our scheme can increase the quality of allocating the services to the corresponding requests, through considering the desire of the matched candidates, which results in increased satisfaction of the candidates in each pair.This leads to more stable service bindings and has the potential to reduce inefficiencies that are incurred through re-binding and alternative lookups.However, the proposed scheme has some limitations in terms of its complexity and would require longer time to reach the highly required stability.In our future work we would like to look at how dynamic constraints such as incurred by load and execution constraints on the providers would influence the stability of the matches.We also plan to evaluate our approach against strategies that consider only the interests of the service consumer.

(
IJACSA) International Journal of Advanced Computer Science and Applications, Special Issue on Extended Papers from Science and Information Conference 2014

Figure 9
Figure 9 is a general example of web service composition scenario.

TABLE IV .
SERVICE-VIEW

TABLE V .
REQUEST-VIEW