Qos Monitoring for Web Services by Time Series Forecasting Mahmod Hosein Zadeh
Mir Ali Seyyedi
Department of Computer Engineering Islamic Azad University Arak Branch’s Qom, Iran
[email protected]
Department of Computer Engineering Islamic Azad University South Tehran Branch’s Tehran, Iran
[email protected] They obtained the two curves shown in Figure 1 . In the first, the monitoring is achieved using the ReqSideMon and the ProvSideMon (monitoring components).
Abstract-In Service Oriented Architecture, Quality of Service (Qos) represents an important issue which is often considered when selecting and composing services. For receiving up-todate information, non-functional properties can be continuously monitored using current methods. Because of the occurrence of monitoring at every time of service calling, the current methods imposes some overhead on the SOA. The present paper attempts to decrease the overheads of Qos monitoring in SOA. We believe, suggested methods is decreasing overhead by using Time Series Forecasting (TSF) for Qos monitoring. By applying Qos monitoring by TSF, some period of time measuring of quality, isn't required, then monitoring cost is decreasing and consequently SOA overhead. For TSF, Neural Network (NN) has been applied. Forecasted Qos values proves reasonably accurate thought the suggested method. Through this method, Qos monitoring are well optimized and find more efficiency. Keywords — SOA, Web Service, Monitoring Overhead, TSF, NNs.
Qos
Fig 1.Monitoring overhead In the second, the measurement is done in the client code and without using monitors [1].
Monitoring,
B Related Work The monitoring may be performed differently at three levels, namely: service level [2, 3], communication level [4, 5, 6] and orchestration level [7, 8]. The service level monitoring considers the basic monitoring approach. The communication level monitoring intercepts exchanged messages between web service providers and requesters. The orchestration level monitoring supervises orchestrated services as BPEL using handlers provided by the orchestration engine such as Active BPEL. Besides, the monitoring is done at three places of consumer, server and third person like a BUS. Soapknox [9] is a plug-in tool for service-side monitoring. Monitor, trace and diagnos .NET and Java Web Services in production environment. Web Services Monitoring helps in quick access to SOAP fault information. Web inject [10] is a client-side monitoring free tool for automated testing of web applications and web services. web inject is a tool that can send request to web application or web services and analyze from responses the response time and success and fault request counts. Java system application server [11] is the open source software developed by Sun's GlassFish project with java EE 5.0. It is the application server with an AppServer management extension (AMX) that supports server-side monitoring of response time, throughput (i.e. the number of requests per second), and success and fault request counts for web services. ManageEngine Application Manager [12] is a client-side monitoring tool that can send requests to web services and analyze from responses the response time and availability (i.e. downtime and uptime period). Microsoft
I INTRODUCTION SOA is a rational, practical approach to the future generation of softwares. Due to the increasing growth of web services with similar operational functions, Qos parameters plays a key role in selecting, detecting and combining the web services. For receiving up-to-date information, Qos parameters can be continuously monitored using Qos monitoring methods. Qos monitoring is a part of service level agreement management. By monitoring, we obtaining the real values of quality parameters, the consumer and server can be informed about the real quality level of the services. Knowing this, the consumer can be deciding on whether to continue cooperation with the server or not. Main factor for deciding to continue working between consumer and server is Qos monitoring. A Monitoring Overhead The combination of all effects of monitoring on the monitored web service is referred to as monitoring overhead. In the web service, Qos monitoring at every time of service calling, imposes some overhead on the SOA, then overhead is causing adverse effects on the service quality parameters such as Response Time, as shown in Figure 1[1]. In order to estimate the monitor overhead, we conduct a large scale experiments under the gird5000 to measure the response time of web services while varying the requester's number from 1 to 500.
_____________________________________ 978-1-4244-5539-3/10/$26.00 ©2010 IEEE
659
Baseline Security Analyzer(MBSA) [13] is a service-side tool. MBSA is a software tool released by Microsoft to determine security state by assessing missing security updates and less-secure security settings within Microsoft Windows, Windows components such as Internet Explorer, IIS web server, and products Microsoft SQL Server, and Microsoft Office macro settings. The degree of vulnerability is determined on a qualitative scale, e.g. best practice passed, failed (but vulnerability is non-critical), failed (and vulnerability is critical). Sandcat [14] is a service-side tool that also can scan Web sites and Web servers that host web services for security vulnerabilities. It is a web application security assessment software. All these methods agree in one point only that is Qos monitoring at every time of web service calling. In the related works, much attention has been paid to the accuracy of values for Qos. However, overhead of monitoring has been disregarded. C Suggested method Monitoring to achieve a more efficient and beneficial use of the prediction approach, we recommend. Qos monitoring using prediction approach, Qos parameters values without the need for monitoring is obtained. In prediction approach, having the current values of Qos parameters, future values of Qos parameters based on its past behaviour is obtained. Each quality parameter is based on the present values of its own may compose a time series. For TSF, NN has been applied. Through evaluating the accuracy of the forecasted values and the good trend of forecasting, the proposed method can be validated. The forecasted values through this method prove reasonably accurate and present a good trend of forecasting. We believe the present approach reduces overhead and increasing the efficiency. The rest of the paper is organized as follows .Section 2 presents TSF concept and methods. The design and validation of Qos monitoring by TSF are discussed in Section 3.Section 4 Draws some conclusions on the paper. II.
Execution Time Values
299 249 199 Actual
149 99 49 1
15 29 43 57 71
85 99 113 127 141 155 169 183
Num ber of Service Calling
Fig 2.Qos time series Fig 2. Shows time series for the execution time parameters of a web service which are measured for 200 times. TSF has several important applications. One application is preventing undesirable events by forecasting the event, identifying the circumstances preceding the event, and taking corrective action so the event can be avoided. Another application is forecasting undesirable, yet unavoidable, events to pre-emptively lessen their impact. Finally, many people, primarily in the financial markets, would like to profit from TSF. Throughout the literature, many techniques have been implemented to perform TSF. This paper will focus on one technique: neural networks. Here neural networks (NNs) with flexibility and capability are the biggest challengers to conventional TSF methods [15]. III.
QOS MONITORING BY TIME SERIES FORECASTING USING NEURAL NETWORK
In this paper, we suggest three components: Data Gathering, TSF by NN, Core Monitoring. They are designed for Qos monitoring by TSF, that account of Qos monitoring, forecasting the future values of quality parameters and monitoring management.
TIME SERIES FORECASTING
The objective of TSF is to reach the future values of time series by analyzing the past behaviours and experiences in a time sequence. TSF any decision making needs a slight and prediction of the future. Prediction aims at reaching the best judgment on the future occurrences. Prediction is an art far higher that science. TSF, or time series prediction, takes an existing series of and forecasts the data xt −n , ! , xt −2 , xt −1 , xt
xt +1 , xt +2 , ! data values. TSF methods for the analysis of the present values of time series can use a variety of techniques. The easiest technique in the forecasting is the smoothing and the most complex one is to extract the behavioral model of time series. A series of statistical data collected at regular intervals or a set of observations arranged in a time sequence best defines what can be called a time series.
Fig 3.Qos Monitoring by Time Series Forecasting using Neural Network
Data gathering component plays the role of monitoring through collecting the information of the quality parameters. It generates the present values of quality parameters. When an order for stop is sent by the Monitoring Core, this
660
component sends the present values to the forecasting component. Forecasting component attempts to forecast the future values of quality parameters based on the present values through TSF with NN. A Neural Network NN is a computational model that is loosely based on the neuron cell structure of the biological nervous system. Given a training set of data, the NN can learn the data with a learning algorithm; the most common algorithm, back propagation, is used. Through back propagation, the NN forms a mapping between inputs and desired outputs from the training set by altering weighted connections within the network. 1) Feed-Forward Neural Networks Fig 4.[17] Depicts an example feed-forward NN. A NN can have any number of layers, units per layer, network inputs, and network outputs. This network has four units in the first layer (layer A) and three units in the second layer (layer B), which are called hidden layers. This network has one unit in the third layer (layer C), which is called the output layer. Finally, this network has four network inputs and one network output.
Fig 5.Unit with its weights and bias When the network is run, each hidden layer unit performs the calculation in Equation 1 on its inputs and transfers the result (Oc) to the next layer of units. Equation 1.Activation function of a hidden layer unit.
1 § P · Oc = hHidden ¨ ¦ ic , p wc , p + bc ¸ where hHidden ( x ) = 1 + e−x © p =1 ¹ Oc is the output of the current hidden layer unit c, P is either the number of units in the previous hidden layer or number of network inputs, ic,p is an input to unit c from either the previous hidden layer unit p or network input p, wc,p is the weight modifying the connection from either unit p to unit c or from input p to unit c, and bc is the bias. In Equation 1, hHidden(x) is the sigmoid activation function of the unit and is charted in Figure 6.
Fig 4. A three-layer feed-forward neural network If a unit is in the first layer, it has the same number of inputs as there are network inputs; if a unit is in succeeding layers, it has the same number of inputs as the number of units in the preceding layer. Each network-input-to-unit and unit-to-unit connection (the lines in Figure 4) is modified by a weight. In addition, each unit has an extra input that is assumed to have a constant value of one. The weight that modifies this extra input is called the bias. All data propagate along the connections in the direction from the network inputs to the network outputs, hence the term feedforward. Fig 5.[17] shows an example unit with its weights and bias and with all other network connections omitted for clarity. In this section and the next, subscripts c, p, and n will identify units in the current layer, the previous layer, and the next layer, respectively.
Figure 6. Sigmoid activation function. Chart limits are x=±7 and y=-0.1, 1.1. Each output layer unit performs the calculation in on its inputs and transfers the result (Oc) to a network output. Equation.2 Activation function of an output layer unit.
· § P Oc = hOutput ¨ ¦ ic , p wc , p + bc ¸ where hOutput ( x ) = x © p =1 ¹ Oc is the output of the current output layer unit c, P is the number of units in the previous hidden layer, ic,p is an input to unit c from the previous hidden layer unit p, wc,p is the
661
set, and its ability to forecast is measured on the test set. 70 percent has been applied for the network training and the rest, 30 percent, has been applied for the network training. For validating the NN performance, error analysis methods can be used. Mean Square Error, Mean Absolute Error and Good Trend Forecasting are used in the paper.
weight modifying the connection from unit p to unit c, and bc is the bias. hOutput(x) is a linear activation function 2) BackPropagation Training To make meaningful forecasts, the NN has to be trained on an appropriate data series. Examples in the form of pairs are extracted from the data series, where input and output are vectors equal in size to the number of network inputs and outputs, respectively. Then, for every example, Backpropagation training consists of three steps: 1. Present an example’s input vector to the network inputs and run the network: compute activation functions sequentially forward from the first hidden layer to the output layer (referencing Figure 4, from layer A to layer C). 2. Compute the difference between the desired output for that example, output, and the actual network output (output of unit(s) in the output layer). Propagate the error sequentially backward from the output layer to the first hidden layer (referencing 5, from layer C to layer A). 3. For every connection, change the weight modifying that connection in proportion to the error. When these three steps have been performed for every example from the data series, one epoch has occurred. As this paper investigated, the most applicable network is for TSF, Feed Forward with Backpropagation algorithm. Monitoring core component obtained the real values of the quality parameters though the data gathering and forecasting components. As in Fig 3, Monitoring Core requests for gathering the current values of quality parameters. Then, the values are sent forecasting component to fulfil the forecast. After receiving the future values, the Monitoring Core requests for monitoring to be stopped (the request is delivered to data gathering component) and it receives the values from the TSF with NN component. Monitoring core component plays the role of managing the method. Thus it requests for the future values by NN to be once more forecasted through decreasing the once forecasted values. It is hoped that designing an intelligent monitoring core will be done by the future works and researches.
Execution Time Values
308 258 208 Actual 158
Forecasted
108 58 1
4
7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 Num ber of Service Calling
Fig 7.Execution Time with one requester (Experience duration=5 min) and requests 1-50 Training set
Test set
# of rows:
35
15
Average AE:
15.133381
25.976921
Average MSE:
988.67646
940.33944
Tolerance type:
Relative
Relative
Tolerance:
10%
30%
# of Good forecasts:
24 (69%)
11 (73%)
# of Bad forecasts:
11 (31%)
4 (27%)
Good Trend Forecasting = 75% 132 Execution Time Values
122 112 102 92
Actual
82
Forecasted
72 62 52 42
B Results validation The validation of time series forecasting with NN at the execution time has been done through a reliable and quick device for predicting the time series by NN, which has named as Alyuda XL software [16]. Recommended software type and NN architecture for TSF is automatically selected. One typical method for training a network is to first partition the data series into two disjoint sets: the training set, and the test set. The network is trained (e.g., with Backpropagation) directly on the training
1
4
7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 Num ber of Service Calling
Fig 8.Execution Time with one requester (Experience duration=5 min) and requests 1350-14002 # of rows: Average AE: Average MSE: Tolerance type: Tolerance: # of Good forecasts: # of Bad forecasts:
1Experiment data are available at http://www.laas.fr/˜khalil/TOOLS/QoS-4-SHWS/index.html 2http://homepages.laas.fr/khalil/TOOLS/QoS-4SHWS/GridDBtxt/ResTime1C_5m.sql 3http://homepages.laas.fr/khalil/TOOLS/QoS-4SHWS/GridDBtxt/ResTime100C_10m.sql
Good Trend
662
Training set Test set 35 15 3.0504253 10.380453 50.686539 572.08131 Relative Relative 10% 30% 32 (91%) 13 (87%) 3 (9%) 2 (13%) Forecasting = 90%
We will also working on the monitoring core component, for design an intelligent tuning. The intelligent tuning delineate the number of forecasting values by NN.
5486 Execution Time Values
4986 4486 3986 3486 2986
Actual
2486
Forecasted
REFERENCES
1986 1486
[1] R.Halima,K.Guennoun , K.Drira and M.Jmaiel:Non-instrusive Qos Monitoring and Analysis for Self-Healing Web Services. pages 549–554, 2008 IEEE Computer Society. [2] A. Mani and A. Nagarajan. Understanding quality of service for web services. Technical report, IBM DeveloperWorks,www106.ibm.com/developerworks/webservices/library/ws-quality.html, Jan 2002 [3] F. Rosenberg, C. Platzer, and S. Dustdar. Bootstrapping performance and dependability attributes ofweb services. In ICWS ’06: Proceedings of the IEEE International Conference on Web Services (ICWS’06), pages 205–212, Washington, DC, USA, 2006. IEEE Computer Society. [4] R. BenHalima, M. Jmaiel, and K. Drira. A qos-driven reconfiguration management system extending web services with self-healing properties.In 16th IEEE International Workshopson Enabling Technologies: Infrastructures for Collaborative Enterprises WETICE, pages 339–344, Paris, France,18-20 June 2007. IEEE Computer Society. [5] N. Repp, R. Berbner, O. Heckmann, and R. Steinmetz. A cross-layer approach to performance monitoring of web services. In Proceedings of the Workshop on Emerging Web Services Technology. CEUR-WS, Dec 2006. [6] N. Thio and S. Karunasekera. Automatic measurement of a qos metric for web service recommendation. In ASWEC ’05: Proceedings of the Australian conference on Software Engineering, pages 202–211. IEEE Computer Society, 2005. [7] F. Barbon, P. Traverso, M. Pistore, and M. Trainotti. Runtime monitoring of instances and classes of web service compositions. In ICWS ’06: Proceedings of the IEEE International Conference on Web Services, pages 63–71, Washington,DC, USA, 2006. IEEE Computer Society. [8] D. Bianculli and C. Ghezzi. Monitoring conversational web services. In IW-SOSWE ’07: 2nd international workshop on Service oriented software engineering, pages 15–21, New York, NY, USA, 2007. ACM. [9] SoapKnox.Available at http://www.soapknox.com/index.html [10] WebInject. Available at http://www.webinject.org/ [11] Java System Application Server and GlassFish Project.Available at http://glassfissh.dev.java.net/ [12]Manage Engine Application Manager. Available at http://manageengine.adventnet.com/products/application_manager/ webservice-monitoring.html [13]Microsoft Baseline Security Analyzer.Available at http://www.microsoft.com/technet/security/tools/mbsahome.mspx [14] Sandact. Available at http:/www.syhunt.com/ [15] Iffat A. Gheyas,Leslie S.Smith. A Neural Network Approach to Time Series Forcasting. In WCE 2009 : Proceedings of the World Congress on Engineering 2009 Vol II , ISBN:978-988-18320-10 ,July 2009. [16] Alyuda.Available at http://www.alyuda.com/ [17]www.karlbranting.net/papers/plummer/Paper_7_12_00.doc. time series forecasting with feed-forward neural networks:guidelines and limitations by eric a plummer
986 486 1
4
7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 Num ber of Service Calling
Fig 9.Execution Time with 100 concurrent requesters and requests 1-50
# of rows: Average AE: Average MSE: Tolerance type: Tolerance: # of Good forecasts: # of Bad forecasts:
Training set Test set 35 15 270.97628 1011.4656 387316.16 2393372.6 Relative Relative 10% 30% 25 (71%) 10 (63%) 10 (29%) 5 (37%) Forecasting = 74%
Good Trend Mean Square Error (MSE) The MSE of an estimator ô with respect to the estimated parameter o is defined as MSE = [(ô - o) 2] Absolute Error (AE) given some value v and its approximation vapprox, the absolute error is AE = | v - vapprox |. Good Trend Forecasting means that the network can duly forecast the next values decrease or increase in the context of the previous obtained values. In the words, when the chances of forecasting are in alignment with the real changes, they should be considered as the correct forecasting .The percentage of Good Trend Forecasting = Good Trend Forecasting / the Total Number of Forecasting exrt+1 > exrt ext+1 > ext exrt+1 = exrt ext+1 = ext exrt+1 < exrt ext+1 < ext exrt :Desired value at t time ext :Estimator value at t time Good trend forecasting is the most important factor. If the good trend forecasting have a reasonable accuracy, then customer appears to correctly judge based on these data about Qos level of web service. IV.
CONCLUSION AND FUTURE WORK
In this paper, we presented the forecasting approach for lessening the overhead of the SOA. This paper proposes to use the TSF technique for estimating the quality of service parameters in SOA. NN technique is used on the proposed approach and simulation data are provided. The presented method has been evaluated, and the forecasting is reasonable accurate. We propose an optimizer and more efficient method for Qos monitoring. The optimization increase result of reduction in the overhead of Qos monitoring. Effectively Qos management result of Qos management knowing the future condition.
663