Вы находитесь на странице: 1из 5

SERVICE SELECTION BASED ON STATUS IDENTIFICATION IN SOA

Neelavathi, Dadapeer & K. Vivekanandan


Department of Computer science and Engineering Pondicherry Engineering College Puducherry, India neelabaski@gmail.com, dadapeer21@gmail.com & kvivek27@yahoo.com

AbstractService Oriented Architecture (SOA) has become a new software development paradigm because it provides a flexible framework that can help to reduce development cost and time. SOA promises loosely coupled interoperable and composable services. Service selection in dynamic environment is the usage of techniques in selecting and providing quality of services (QoS) to consumers. The dynamic nature of web services is realized by an environment for collecting runtime information of web services. Based on the collected runtime information, several characteristics of service failures and successes are identified and four service statuses are defined. Based on these statuses, an approach to dynamic availability estimation is proposed along with multiple QoS criterias such as cost and performance which is called Status Identification based service selection (SISS). Keywords - Service Oriented Architecture, Service Selection, Status Identification, Dynamic Availability, QoS criteria, Service Status, Transition rules.

can efficiently improve the success rate of selecting services. This paper makes the following contributions: (1) service oriented architecture (2) service selection in SOA (3) proposes a status identification[11] based dynamic service selection approach (4) proposes an evaluation plan and develops the corresponding experimental platform which can be reused for evaluating other service selection algorithms. II. SERVICE ORIENTED ARCHITECTURE

I.

INTRODUCTION

Service oriented architecture (SOA) is a new paradigm for software development that promises loosely coupled, interoperable and composable components called services [1]. Quality of services (QoS) is a key factor for the success of building service-oriented applications. To accommodate the characteristics of failures and successes of service invocations [1 and 11], the dynamic availability estimation approach is proposed. This approach defines four statuses of services according to the characteristics namely stable up, transient down, short term down and long term down. The basic idea of the approach is to identify the service status and to reuse the historical experiences to estimate the availability [6]. This approach is called Status Identification based service selection (SISS). Dynamic service selection algorithm [18] based on SISS is implemented and an experimental environment is set up for dynamically selecting web services published by Google, Yahoo, Amazon and other services. SISS is compared with two other dynamic selection algorithms and results show that it

The service orientation and Service Oriented Architecture (SOA) are not new or revolutionary concepts. It is the next stage of evolution in the distributed computing [2]. SOA is not a Technology and is only an architectural approach. SOA is defined as Service Oriented Architecture (SOA) is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains [2]. SOA includes the previously proven and successful elements from past distributed paradigms. These elements are combined with the design approaches to leverage recent technology in distributed computing [1]. In SOA, the loosely coupled systems do computing in terms of services. SOA separates functions into distinct units, or services, which developers make accessible over a network in order to allow users to combine and reuse them in the production of applications. These services communicate with each other by passing data from one service to another [3], or by coordinating an activity between two or more services. They use the well established standards [4]. III. SERVICE SELECTION IN SOA

It is possible to have multiple service providers in an SOC environment who offer broadly similar services but with differing qualities. It is essential, therefore, that the selection process should select optimal service out of a group of functionalitysimilar services optimized for a certain property of QoS [11]. The aim of service selection is to provide

meaningful and reliable services to consumers consistently and efficiently from the set of candidate services. The figure 1 depicts a typical scenario of service selection [11]. When the selector receives a request from a client, the selector chooses a service to invoke and returns the response message to the client. The selection process can be optimized for a certain property of QoS.

transient down, short-term down and long-term down. 1) Stable up (SU): This status means that the service is running stably and no invocation failure happens. 2) Transient down (TD): This status means that encountering failures during invocation is not predictable and it may be recovered by a simple retry. 3) Short-term down (STD): This status means that the service becomes down to a permitable threshold size (n) which is manually set. This status is common for web services. For example, periodical server restarting will cause the service unavailable for several minutes. 4) Long-term down (LTD): This status means that the service becomes down to a level greater than the threshold value n. The service becomes down because of some specific factors. This four status model has two advantages: simple and practical. First this model is simple. The service status is dividable [16, 17]. The list can be further divided into many statuses. Second this status model is practical. B. Service status transition model Assumption is made that a service is running in one of the status at each single point of time. A service can transfer from one status to another [11]. Every two of these statuses are quantitatively distinguished. For example, we can differentiate transient down and short term down with the continuity of failures. If the length of continuous failures is longer than K2, then we identify this status as short-term down; otherwise as transient down. Still short-term down and long-term down are distinguishable with the value of K3 continuous failures. If the length of continuous failures is lesser or equal to K3 and greater than K2, then we identify this status as short-term down; otherwise as longterm down. The status transitions with condition rules are shown in Figure2. The arc means one status can transfer to another. Each arc has a transition condition. When this condition is satisfied, the service status is transited from one status to another following the arc. The definition of parameters in the transition rules is based on the basic definition of the services status. The transition rules are defined as:

Figure 1. A Typical Scenario of Service Selection

A. Quality Of Service Quality of service is a combination of several qualities or properties of a service such as Performance, Cost, Reliability, Availability, Reputation, and Fidelity [8]. The performance [9] is the time duration from a request being sent, to when the results are received. Cost [9] refers to the amount of money that the consumer pays for using a service. The reliability [9] is the probability that the requested service is working without a failure within a specified time frame. Availability [6] is the quality aspect of whether the service is present or ready for immediate use. Reputation [6] is the criterion in measuring total trustworthiness of a service and Fidelity [6] is the average marks that are given by different consumers to the same QoS criterion. Basis of service selection is correct estimation of QoS properties of services. Among all the QoS properties, availability is a key property as it may affect many other QoS properties. IV. ESTIMATING SERVICE STATUS

A. Status identification The characteristics of service invocation failures and successes [11] help to improve the accuracy of estimating a services availability. Based on these characteristics several patterns of service invocation can be formulated. These patterns show that services are running in different status. In SISS, four status models [11] is proposed which includes stable up,

C0: when the previous status is stable up one failure happens, the service status has been transmitted to transient down. C1: Condition for transmitting TD to SU is continuous K1successes. C2: condition for transmitting TD to short term down is continuous K2 failures. C3: When the previous status is STD and one success happens, the service status has been transmitted to transient down. C4: condition for transmitting STD to long term down is continuous K3 failures. C5: when the previous status is LTD and one success occurs, the service status has been transmitted to transient down.

The architecture of SISS is shown in Figure 3. The selector maintains four lists of candidate services [11], where the candidate services are named as S1, S2, S3.Sn. Each list represents a separate status stable up, transient down, short term down and long term down. Whenever one service status has been identified, this service is put into the corresponding list. When a request from client comes, the selector first searches for the optimal service in the stable up list. If the stable up list is empty, the selector tries the transient down list. If the transient down list is empty, the selector searches the short term down list and finally tries the long term list.

Figure 2. Status Model with Transition Rules

C.

Estimating service availability in specified status When SISS has identified the services current status, the next step for SISS is to calculate the services availability value [11]. The result is denoted as ava. Ava is the calculated value of availability and Tup is the total amount of time in which the services is available during the last T seconds. Ava= Tup/T 1) Stable Up: when the services are running in this status then the estimated value of ava is taken as 1 for the stable up status. 2) Long -Term down: for the services running in this status, the estimated value of ava is 0. 3) Transient down and Short term Down: SISS uses the exponentially weighted moving average (EMA) method [19] to estimate the services current availability. Assuming all the historical availability values are stored in sequence, the EMA method calculates a weighted average of the values stored. This EMA weighs recent values more and does not ignore old ones.

Figure 3. Architecture of SISS

V.

QOS NORMALIZATION

If there is more than one service in the stable up list, then the QoS criteria such as cost, performance, reliability, fidelity and reputation of the service are taken into consideration to rank the services in each of the four lists. So, first service within SU is selected. If this fails then the next in the list is selected. This ranking of services in the lists results in more optimal service selection based on the value of QoS criterias such as performance to be high and cost to be low. A. QoS Model The actual QoS are to be monitored while the service is being used and receive the feedback from the service consumers. The extensible QoS model, QoS = {Q1, Q2, , Qn}, represents the set of QoS criteria where Qn presents single QoS information. For example, if there are 5 QoS criteria, such as performance, cost, reliability, reputation and fidelity,

it can be represented by using the extensible QoS model as follows: QoS (S) = {Qper, Qcost, Qrel, Qrep, Qfid} B. Normalization All criteria use the different measurements. For example, the unit of cost is dollars, while the unit of performance is seconds. These units should be normalized in order to compute the single score from the QoS values that have different measurements. Ranking of the services is done by normalizing the QoS parameters considered. The formula for computing scores is as follows
Figure 4. No. of invocations vs percentage of deviation

Where n is the number of QoS data for a service, Qi is the normalized value of QoS data, and Wi is the weight for each QoS data that is decided according to the consumers preference. The sum of Wi always becomes 1 in order to set the score to the range between 0 to 1. Based on the Score Si , the services are ordered in the descending order of their Si value i.e., the service with highest Si value will be given first rank and then the second highest and so on in the list. The selector selects the service with highest rank from the list. If the stable up list is empty, and there are more than one service in the transient down list, the selector dynamically estimates the services availability according to EMA method [19] and picks up the service from the services ranked in this list. VI. PERFORMANCE EVALUATION

The figure 5 shows a graph of number of invocations versus success rate. Success rate is the number of successful estimations of the service divided by the total number of invocations. From the figure it is observed that the exponential moving average is estimating the availability better than the weighted moving average.

A set of web services with similar functionality are invoked using a client program for thousand times each. Then these services are slated into the four lists as discussed previously. Then the proposed algorithm is evaluated. The figure 4 describes the deviation of the estimation done by the linear moving average and exponential moving average from the actual service availability at a particular instance. The availability is estimated by the LMA and EMA for different number of service invocations. Then the deviation of the estimated value with the actual result which is either success or failure for the next invocation is calculated. This deviation of the LMA and EMA is taken to plot the graph. From the graph, it is clear that the deviation of the EMA is less than the deviation of the LMA. But both increases as the total number of failures increase in course of increase in number of invocations.

Figure 5. No. of invocations vs success rate

This is because the exponential moving average algorithm gives more weightage to the recent invocations with neglecting the older invocations when compared to linear moving average. The figure 6 shows the comparison between the average failure rate and the number of service invocations. The x-axis shows the number of invocations. The y-axis shows the expected failure rate calculated by . We note that a larger value indicates a lower failure rate (or better result).

Figure 6. Failure rate of the service selected. VII. CONCLUSION The web services are to be available whenever they are invoked. So, web services availability is considered to be the key QoS properties for the service oriented applications. The web services availability estimation has been challenging because of the dynamic nature of such services. As there are several patterns of service invocation failures and successes the web services can be slated in one of the states based on these patterns. Our approach for dynamic availability estimation of service selection based on the status identification can make significant improvements in estimating the web service availability. References
Thomas Erl, Service-Oriented Architecture: Concepts, Technology, and Design, Prentice Hall, PTR ,2005. [2] Judith Hurwitz, Robin Bloor, Baroudi C, Marcia K Service Oriented Architecture for Dummies, Wiley Publishing, Inc. [3] Mark D Hansen, SOA using java web services, Prentice Hall, 2007. [4] Canfora G, Di Penta M, Esposito R, and Villani M. L, An Approach for QoS-aware Service Composition based on Genetic Algorithms, Proc. of the 2005 Conf. on Genetic and evolutionary computation, ACM Press, New York, 2005. [5] D. T. Tsesmetzis, I. G. Roussaki, I. V. Papaioannou, et al. QoS awareness support in Web-Service semantics, in Proceedings of AICT/ICIW 2006, 2006. [6] Yu and K. Lin, Service selection algorithms for Web services with end-to-end QoS constraints, in Proceedings of CEC04, pp. 129-136, 2004. [7] R. Ukor and A. Carpenter, On modelled flexibility and service selection optimisation, in 9th Workshop on Business Process Modeling, Development and Support, vol. 335.CEUR-WS, 2008. [8] D. Ardagna and B. Pernici, Global and local qos guarantee in web service selection, in Business Process Management Workshops, pp. 3246, 2005. [9] O.Minhyuk, B and Jongmoon,et.al, An efficient approach for QoS-aware service selection based on a Tree-based Algorithm, Seventh IEEE international conference on computer and Information science. [10] Web Service Business Process Execution Language (WS BPEL), Version 2.0 - OASIS Committee Draft, 17th May, 2006. [1]

[11] Lingshuang S, Lu Z, et.al, Dynamic Availability Estimation For Service Selection Based On Status Identification, IEEE International Conference on web Services, 2008 IEEE [12] I. Foster, C. Kesselman, J. M. Nick, and S. Tuecke. Grid services for distributed system integration, IEEE Computer, 35(6):3746, 2002. [13] R. Jurca, B. Faltings, and W. Binder, Reliable QoS monitoring based on client feedback, In WWW 07: Proceedings of the 15th international conference on World Wide Web, pages 10031012, 2007. [14] A. Keller and H. Ludwig, The WSLA framework: Specifying and monitoring service level agreements for web services, J. Netw. Syst. Manage., 11(1):5781, 2003. [15] D. A. Menasc. QoS issues in web services, IEEE Internet Computing, 6(6):7275, 2002. [16] M. P. Papazoglou and D. Georgakopoulos, ServiceOriented Computing, Commun. ACM, 46(10):2428, 2003. [17] M. A. Serhani, R. Dssouli, A. Hafid, and H. Sahraoui, A QoS broker based architecture for efficient web services selection, In ICWS 05: Proceedings of the IEEE International Conference on Web Services (ICWS05), pages 113120, Washington, DC, USA, 2005. IEEE Computer Society. [18] M. Jaeger, G. Muhl, S. Golze, Qos-aware composition of web services: A look at selection algorithm, in: Proc. 2005 IEEE Intl. Conf. Web Services, ICWS05, 2005. [19] J. M. Lucas and M. S. Saccucci, Exponentially weighted moving average control schemes: Properties and enhancements, Technometrics, 32(1):112, Feb., 1990. [20] M.A. Serhani, R. Dssouli, A Hafid, H. Sahraoui, A QoS broker based architecture for efficient web service selection, in: Proc. 2005 IEEE International Conference on Web Services, ICWS05, 2005. [21] D.Liu, Z.Shao,C.Yu, A heuristic Qos-aware service selection approach to web service composition, International Conference on computer and Information science IEEE 2009

Вам также может понравиться