RDRP: اولویت بندی درخواست پاداش-رانده شده برای وب سایت های تجارت الکترونیک
|کد مقاله||سال انتشار||مقاله انگلیسی||ترجمه فارسی||تعداد کلمات|
|27291||2010||13 صفحه PDF||سفارش دهید||محاسبه نشده|
Publisher : Elsevier - Science Direct (الزویر - ساینس دایرکت)
Journal : Electronic Commerce Research and Applications, Volume 9, Issue 6, November–December 2010, Pages 549–561
Meeting client Quality-of-Service (QoS) expectations proves to be a difficult task for the providers of e-Commerce services, especially when web servers experience overload conditions, which cause increased response times and request rejections, leading to user frustration, lowered usage of the service and reduced revenues. In this paper, we propose a server-side request scheduling mechanism that addresses these problems. Our Reward-Driven Request Prioritization (RDRP) algorithm gives higher execution priority to client web sessions that are likely to bring more service profit (or any other application-specific reward). The method works by predicting future session structure by comparing its requests seen so far with aggregated information about recent client behavior, and using these predictions to preferentially allocate web server resources. Our experiments using the TPC-W benchmark application with an implementation of the RDRP techniques in the JBoss web application server show that RDRP can significantly boost profit attained by the service, while providing better QoS to clients that bring more profit.
In recent decade, the role of the Internet has undergone a transition from simply being a data repository to one providing access to a variety of sophisticated Internet services, such as e-mail, shopping, social networking, and entertainment. Various e-Commerce services (e.g., online banking, shopping) constitute a significant portion of the services offered on the Internet. Typical interaction of users with such services is organized into sessions, a sequence of related requests, which together achieve a higher level user goal. An example of such interaction is an online shopping scenario for a retail e-Commerce web site, which involves multiple requests that search for particular products, retrieve information about a specific item, add it to the shopping cart, initiate the check-out process, and finally commit the order. The success of the whole session now becomes the ultimate QoS goal, which contrasts with the per-request success performance metrics of the early Internet. Providers of e-Commerce services frequently have to deal with service overload conditions. In such situations, clients see increased response times and their requests (and the containing sessions) may get rejected, which leads to user frustration, and as a consequence, to lowered usage of the service and reduced service revenues ( Barnes and Mookerjee 2009). Recent studies showed that 33% of shoppers on a slow-loading e-Commerce web site abandoned the site entirely, while 75% of visitors would never shop on that site again ( Moskalyuk 2006). Numerous server-side performance management techniques have been proposed to deal with server overload situations. For example, Session-based Admission Control (SBAC) (Cherkasova and Phaal 2002) admits only as many sessions as can be served by the service. More complex service differentiation mechanisms have also been used to provide stable QoS guarantees (e.g., request throughput, response times) to different client groups, based on prenegotiated Service-Level Agreements (SLAs). Common to such schemes is the consideration that QoS received by a client is determined upfront by his association with a client group or by his service membership status. However, most of these schemes fall short of delivering the best performance in situations where it makes sense to differentiate among clients based on the (dynamic) activities these clients perform in a session, rather than on their (static) identity, in order to boost service revenues, or for other application-specific goals. Let’s consider the following two examples: • In the online shopping scenario introduced earlier, the service provider might be interested in giving a higher execution priority to the sessions that have placed something in the shopping cart (potential buyer sessions), as compared to the sessions that just browse product catalogs, making sure that clients that buy something (and so – bring profit to the service) receive better QoS. • For a service, some of whose web pages contain third party-sponsored advertisements, the service provider’s profits may increase with more visits to these pages, as it may increase the chances of the clients following the advertisement links. Consequently, the service provider may wish to provide better QoS to the sessions that visit web pages with advertisements more often. These examples are unified by the idea that the service may benefit from providing better QoS to sessions, that bring more profit (give more reward), where the notion of profit or reward is defined in an application-specific fashion. What is important is that the information about the client’s possible usage of a service (and its associated contribution to service reward) is not encoded in any static profile, so application-logic-independent SLA-based service differentiation approaches are not as beneficial here. Instead, to be able to provide better QoS to the sessions that bring more reward, the service provider now needs to predict the behavior of a client. If a client has used the service before and his identity can be determined (e.g., using cookies), than decisions on QoS provided to this client can be based on the history of his service usage (e.g., history of previous purchases). However, the success of this per-client history-based approach, is, not unexpectedly, highly dependent on the correlation between the past and the future behavior of a client, and may not work well if such a correlation is absent or weak. Instead of focusing on individual client behavior, we advocate the approach of predicting a session’s activities by associating it with aggregated client behavior or broader service usage patterns, obtained for example through online request profiling. Specifically, we propose Reward-Driven Request Prioritization (RDRP) mechanisms that try to maximize reward attained by the service, by dynamically assigning higher execution priority values to the requests whose sessions are likely to bring more reward. Our methods compare the sequence of a session’s requests seen so far with aggregated information about client behaviors, and use a Bayesian inference analysis to statistically predict the future structure of a session, and so – the reward the session will bring and the execution cost it will incur. The predicted reward and execution cost values are used to compute each request’s priority, which is used in scheduling “bottleneck” server resources, such as server threads and database connections, to incoming client requests. We have implemented our proposed methods as a set of middleware mechanisms, which are seamlessly and modularly integrated in the open-source Java web application server JBoss (JBoss 2010). A Request Profiling module performs automatic real-time monitoring of client requests to extract parameters of service usage and to maintain the histories of session requests. It also performs fine-grained request profiling to identify execution times for different service request types. The RDRP module uses the information gathered by the Request Profiling module to compute and assign request priorities, that in turn influences queueing behavior for various application server resources. We evaluate our approach on the TPC-W benchmark application (TPC-W 2005), emulating an e-Commerce web site selling books, and compare it with both the session-based admission control and per-client history-based approaches. Our experiments show that RDRP techniques yield benefits in both underload and overload situations, for both smooth and bursty client behavior. In underload situations, the proposed mechanisms give better response times for the clients that bring more profit to the service, thus helping to secure their satisfaction and future return to the web site. Note that it is often the case that the bulk of a service customers are returning clients, so providing good QoS to long-time customers is a key factor in service success (VanBoskirk et al., 2001 and Barnes and Mookerjee, 2009). In overload situations, when some of the requests get rejected, the mechanisms ensure that sessions that bring more profit are more likely to complete successfully and that the aggregate profit attained by the service increases compared to other solutions. Additionally, we show that the history-based approach matches the performance of our RDRP mechanisms on the amount of profit gained and response times only if the correlation between the clients’ past and future behavior is 75% or greater, and 50% or greater, respectively. The rest of this paper is organized as follows: Section 2 presents models and assumptions used throughout the paper. Section 3 describes the Reward-Driven Request Prioritization techniques. Section 4 presents our testing methodology and experimental results. In Section 5 we discuss related work, and we conclude in Section 6.
نتیجه گیری انگلیسی
In this paper we have proposed Reward-Driven Request Prioritization (RDRP) mechanisms, which maximize the profit (or any other application-specific reward) attained by an e-Commerce service, by dynamically assigning higher execution priorities to the requests whose sessions are likely to bring more profit (reward) to the service. We have implemented the proposed methods as pluggable middleware mechanisms in the Java EE application server JBoss ( JBoss 2010), and tested them on the TPC-W benchmark application ( TPC-W 2005) using CBMG-based web workloads. Our experiments showed that RDRP techniques yield benefits in both underload and overload situations, for both smooth and bursty client behavior, against state-of-the-art alternatives such as session-based admission control and history-based session prioritization approaches. In the situation of service underload the proposed mechanisms gave better response times for the clients that brought more profit. In the situation of service overload, the mechanisms ensured that sessions that brought more profit were more likely to complete successfully and that the aggregate profit attained by the service increased compared to other solutions. Additionally, we showed that the history-based approach matched performance of our RDRP mechanisms only if the correlation between the clients’ past and future behaviors reached the mark of 75% for the profit attained, and 50% – for the request response times.