1 WP3 meeting in Milan, November 30 Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS
2 Outline Structural Reconfiguration Architecture Prototype implementation Grid experimentation First experience with Gird5000 Some Monitoring Data analysis
3 Structural reconfiguration Substitution & Wrapping
4 Substitution scenario NetWork WS Requester WS1 Provider (mismatch) WS2 Provider (substitute) Structural Reconfiguration Module Substitution Mgr Wrapping Mgr Substitution Mgr Interceptor Deployment WS3 Provider ?
5 Interceptor integrated with WS1 Structural Reconfiguration Module: Substitution WS1-URL WS2-wsdl IDE (Interceptor Deployment Engin) WSTM (Web Service Tomcat Manager) Compiling generated files Generation of required files for a WS2 Client (by Axis) Substitution Mgr WSDL Compiler JRC (JAVA Runtime Compiler) XML Parser Updating Tomcat WS list Deployment of interceptor Preparing requests background for each WS2 Methods Compiling generated files Generation of interceptor code ICG (Interceptor Code Generator) JRC (JAVA Runtime Compiler) Interceptor Java files Interceptor Class files WS2 Client required Java files WS2 Client required Class files Requests ready for WS2 Methods Interceptor can react to WS1 request Input
6 Structural Reconfiguration Module: Wrapping WS1-URL WS2-wsdl IDE (Interceptor Deployment Engin) WSTM (Web Service Tomcat Manager) Compiling generated files Generation of required files for a WS2 Client Wrapping Mgr WSDL Compiler JRC (JAVA Runtime Compiler) XML Parser Updating Tomcat WS list Deployment of interceptor Preparing requests background for each WS2 Methods Compiling generated files Generation of interceptor code ICG (Interceptor Code Generator) JRC (JAVA Runtime Compiler) Interceptor Java files Interceptor Class files WS2 Client required Java files WS2 Client required Class files Requests ready for WS2 Methods Interceptor integrated with WS1 Interceptor can react to WS1 request Input Schema parameters Use of “Schema parameters”
7 Interceptor SOAP request WS2 dynamic invocation using Java Reflect Extract Client Input form SOAP request Encapsulation of WS2 result invocation in SOAP Response Input Parameters extractor Substitution WSDI (Web Service Dynamic Invocation) Substitution Interceptor Processing SOAP response Output Extract parameter values from SOAP Send req. to WS2 and wait for resp. Put WS2 resp. into SOAP resp.
8 Reconfiguration & Repair Module QoS Measure & Monitoring Module WS-Diamond Architecture QoS Monitoring Engine Diagnosis & Recovery Module Diagnostic Engine Interaction Manager (Req. Side Interceptor) WS Provider1 WS Requester1 (Client1) Recovery Action Selector Msg log Repair Actions Diag. log Alarm log Pass/ Wait Alarms Request Message Response Message Request+QoS Message Response+QoS Message Diagnosis Reponse+QoS Message Pass/ Wait QoS Monitoring Engine Interaction Manager (Req. Side Interceptor) WS Requester2 (Client2) Msg log Alarm log Request Message Response Message Response+QoS Message Reponse+QoS Message Pass/ Wait Alarms Pass/ Wait QoS Measure (Prov. Interceptor) WS Provider2 (substitute)
9
10 Grid5000 Experimentation First Step
11 Monitored Metric: Response Time Service Provider Service Consumer Interceptor Provider Interceptor Consumer NetWork 1.Request2.Response Treqc Treqp Trespc Trespp T communication = (Treqp – Treqc) + (Trespc - Trespp) T execution = Trespp - Treqp
12 Centralized Monitoring Service Provider2 Service Consumer1 Internet Service Consumer2Service Consumer3 Cons1_intCons2_intCons3_int Prov2_int Service Provider3Service Provider1 Prov1_int Prov3_int Monitoring WS
13 Experience architecture (Response Time measurement) Grid reservation of 382 nodes 380 Clients 1 WS server (Tomcat) 1 Monitoring server (Tomcat + Mysql) Experience duration: Start: Sat Nov 25 17:59:56 End : Mon Nov 27 09:40:59 Duration: 01 day, 16h:42:00
14 Some experimentation results Record number (= request number) records (8 fields: Num_invocation,Node_name,T1,T2,T3,T4, Texecution, Tcommunication ) Monitoring Data size 2,5~3 Gb Invocation average 211, requests/second
15 Some values: Execution_Time Execution Time: Min = 0 ms AVG = ms Max = 1044 ms Execution_Time >1000 ==> 3 requests Execution_Time >100 ==> 269 Execution_Time >10 ==>
16 Some values: Communication_Time Communication Time: Min= 10ms AVG= ms Max= ms Communication_Time >10000 ==> 424 Communication_Time >1000 ==> Communication_Time >100 ==>
17 Some values: ( Execution_Time+Communication_Time) Execution_Time+Communication_Time Min Value= 7 ms AVG Value= ms Max Value= ms
18 Future Work To vary Client number To Measure interception time To Deploy and validate the structural reconfiguration when necessary
19 Thank you