• No results found

Many existing work related to web service execution could be found in the area of QoS. A common feature that could be observed in many of them is service discovery or com- position based on a QoS criteria. Many of them make the assumption that the web services middleware and the underlying infrastructure used, will guarantee perceived QoS levels within a probabilistic measure. Work by Ran S. [Ran,2003] and Tian M. et

CHAPTER 3. PREDICTABILITY OF EXECUTION IN STAND-ALONE WS-MIDDLEWARE

al. [Tian et al.,2003] facilitate the discovery of services based on QoS parameters by in- corporating information about QoS levels provided by services in modified web service directories. QoS brokers facilitate the discovery by liaising with the directory service on behalf of the clients, based on its QoS requirement. Liang Q. et al. [Liang et al.,2009] proposes a unified service selection scheme that uses multiple QoS attributes such as execution time, availability and user perceived QoS levels. It carries out the negotiation process based on QoS parameters transparent to the users when services are selected. The work assumes that services will adhere to a probability based guarantee of the QoS parameters they support. Work of Zeng L. et al. [Zeng et al.,2003,2004] extends this to service compositions where the selection of services for a composite service is based on QoS attributes each service is able to provide. Yet again the guarantee of QoS levels by the middleware is assumed.

While the work mentioned assume QoS levels are guaranteed by the middleware, there are attempts at achieving different levels of quality in the middleware. Work of Sharma A. et al. [Sharma et al., 2003] introduces few methods of differentiation into the pro- cessing of requests. Requests are classified into various service classes based on non- functional attributes such as nature of application (i.e. a stock trading service versus a price lookup service), the device being used as a client (i.e. a Personal Computer versus a mobile device) and nature of client (i.e. paying customer request versus a free request). Priorities are assigned to each service class based on these attributes. The ar- rival rate of each category is monitored and the priorities are dynamically adjusted using a penalty function to reduce starvation. The penalty function penalises a priority on a lower than normal arrival rate and enforces it positively on higher than normal arrivals. The solution achieves some level of differentiation in the throughput of the requests and tries to maintain a pre-defined ratio between the service classes. Similarly, the work of Tien C. M. et al. [Ching-Ming Tien,2005] classifies requests into service classes based on a pre-defined SLAs between the service provider and clients. Operations are profiled offline and the information obtained is used to calculate the workload required when a service is invoked. A scheduler component in the middleware evaluates the request ar- rivals and ensures a pre-defined ratio of the service classes, in processing. Although the operations considered in the approach are non-functional properties of the service such as security processing, the same technique could be applied for functional attributes as well. However, the scheduler simply maintains the ratio of the different classes in the number of requests processed, rather than considering the actual execution times

CHAPTER 3. PREDICTABILITY OF EXECUTION IN STAND-ALONE WS-MIDDLEWARE

resulted.

The use of admission control in Web Services could also be found in literature. Work of Dyachyuk D. et al. [Dyachuk and Deters,2007] proposes the use of a proxy between the client and the server with an admission control mechanism that can use different types of scheduling techniques such as First-In-First-Out (FIFO) and Shortest Job First (SJF) to schedule the execution of web service requests. The goal is to achieve control over service execution and prevent the server from reaching overloaded conditions. A similar approach is found in [Elnikety et al.,2004] where a proxy based admission con- trol is used in a three tier web application. The admission control is based yet again on request scheduling although this work focuses more on requests between the applica- tion server and the database. FIFO and SJF are techniques used for this purpose and the gateway proxy they introduce prevents overload conditions in the server. A more gen- eral approach can be found in [Carlstrom and Rom,2002] where admission control is used to ensure low session delays by means of a reward function that works on weights associated with different pre-defined stages of processing in the application. Stages rep- resent the discrete functionalities the web application provides and weights are assigned based on the importance of the operation to the user in terms of the delay experienced.

[Erradi and Maheshwari,2005] proposes a QoS-aware middleware similar to an Enter-

prise Service Bus, which uses priority based differentiation of web services requests. It contains an admission control mechanism as part of its functionality which decides controls the incoming messages from different transport protocols. However, the paper does not provide more details on the scheduling techniques used, except for the prioriti- sation of messages. The paper also fails to mention the method of prioritisation. While all these works use admission control to prevent overloaded conditions or to control scheduling of requests, none of them uses predictability as the goal for the selection of requests.

Helander J. et al. [Helander and Sigurdsson, 2005] uses SOAP based web services in an embedded real-time environment where web services are used for communica- tion between the components in the system. Patterns of communication, sequence of events, their resource requirements and execution times are known apriori due to the embedded nature of the system. Therefore, the execution sequences and the schedules are planned out at design time of the system. A statistical model is used to plan for any variations or possible jitter and resources are over reserved to counter such scenar- ios. [Mathes et al.,2009a] presents a real-time SOAP engine for industrial automation

CHAPTER 3. PREDICTABILITY OF EXECUTION IN STAND-ALONE WS-MIDDLEWARE

which supports all three types of real-time tasks. While there is no clear mention of the scheduling technique used, requests seem to be accepted without being subjected to an admission control check. From these features and the type of evaluation conducted, it can be concluded that this is intended to be used with closed systems, where task prop- erties are known at design time. They propose two methods for finding task properties and favours a profiling approach which is more empirical. The closed nature of these two systems allows planning ahead, thereby reducing the variation in execution times. However, such solutions would not work well with open systems, as in the use of web services over the Internet where request characteristics, arrival patterns and sequences are unknown and unpredictable at design time. Most of the discussed work, maintain a certain ratio of processing between the request classes and achieve perceived execution times in a probabilistic manner. While all attempts achieve some form of differentiation in request processing, none of them can guarantee predictable execution times under any traffic condition. Although [Helander and Sigurdsson,2005] and [Mathes et al.,2009a] uses real-time scheduling techniques in their solution, the requirement of having all in- formation necessary for scheduling at design time makes it difficult to be used in open systems such as on the Internet due to the unpredictable nature of requests.