18
Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

Embed Size (px)

Citation preview

Page 1: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

Riadh BEN HALIMA & Khalil DRIRALAAS-CNRS

WS-DIAMOND final review, Torino, 19 September 2008

QoS Prototype

Page 2: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

Introduction

2

• QoS management in WS-DIAMOND• Objective: QoS-oriented self-healing for WS

• Approach: Class-level Monitoring and repair, based on statistical analysis of QoS values (response time mainly)

• Implementations: • Prototype V1 (demo last review)

• Prototype V2 (demo final review)

• Experiments: • Integration with Polimi Foodshop implementation (V1,V2)

• Integration With UNITO Logger (V2)

Page 3: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

Main characteristics and related challenges of V2• Defines appropriate models (HMM) for better estimation of

current WS state and prediction of future state using logged data from current or past executions.

• Handles WSs as black boxes by intercepting, logging and analyzing their conversations (SOAP messages) at the HTTP level, and is application-independent.

• Is able to manage asynchronous conversations because SOAP Headers (MessageId, RelatesTo, Source) are not affected by intermediates (HTTP Proxies) we put between requesters and providers

• Is appropriate for stateful WS because the intermediate reroutes HTTP by modifying IP address of the destination without affecting the SOAP Envelop (Header and Body)

3

Page 4: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

4

• Response Time : The time between sending a request and receiving the response:

• Tresponse = t4 – t1 (RTT: Round Trip Time)

• Execution Time: The time that the provider needs to achieve the processing of the request:

• Texecution = t3 – t2 (Has been considered for the prototype V1)

• Communication Time: The time that the SOAP message needs to reach its destination:

• Tcommunication = Tresponse – Texecution (Has been considered for other scenarios)

Considered QoS parametersRequester Provider

Time

t1

t2

t3

t4

TexecTresp Tcomm

Request

Response

Page 5: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

• Two application-independent parts:• HTTP Proxy (1144 Java lines)

• Implements: Monitoring, logging, and rerouting of requests

• Maintains and uses 2 DB tables : WS_LOG, ROUTING

• QoS Analysis & Graphical monitoring window (1326 Java lines)

• Extract logs, build and show “historic of conversations”

• Analyze and show WSs operations status (using QoS values)

• Three application-specific parts:• The WSs implementing the FoodShop (Polimi implementation)

• A dequest generator acting as a consumer (random and permanent generation of requests, instead of SoapUI)

• A delay injector (servlet acting on the “check-availability” function)

5

Main implemented Parts

Page 6: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

Main implemented functions

• Automated dynamic discovery of all involved WSs for any applications (“historic of conversations”):• IP addresses of the machines hosting the WSs• Names of WSs being communicating• Names of the operations, their kinds (synchronous/

asynchronous) and their execution durations

• Automated dynamic building and graphical visualization of:• Which deployment machine hosts which WSs• Which operation is executed by which WSs• Sequences of conversations between operations• Statistical results and state estimation for each operation

• Logging and operation-level dynamic routing

6

Page 7: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

7

The deployment configuration for this demo

• Five independent virtual machines: (grouped on the

same computer for the demo)

• M1: Shop, M2: Warehouse, M3: Supplier

• M4: Additional Warehouse (for substitution)

• M5: QoS Proxies (for intercepting, logging, rerouting)

• Additional execution machine in the same computer

• The request generator (random periodic invocation)

• The QoS Analysis & Graphical monitoring window (status of

the WSs operations)

Page 8: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

8

The graphical monitoring window

Historic of conversations (computed dynamically from the log)

Statistics of operations(of a given web service)

Page 9: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

9

Historic of Conversations

1 Column= 1 operation’s executions

1Line= 1 messagebetween operations

Tim

e

Rectangle in red: the selected WS operation for analysis

1 Swimlane=1 deployment computer

Requester Shop SUP WH192.168.2.1 192.168.2.201 192.168.2.202 192.168.2.203

Rectangle in blue:synchronous operations

Rectangle in gray:asynchronous operations

Page 10: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

10

Statistics & State estimation rules• Statistics

Round-Trip Time (RTT) = response time

Average RTT: Acceptable Round -Trip

Time (ARTT): Retransmission Timeout

(RTO):

• Model States • Working, PartiallyWorking,

NOTWorking

• Hidden Markov Model statistics

model

Operation name

Last measured RTT

2. iii KSRTTRTO

2.2 iii

KSRTTARTT

iii RTTSRTTSRTT .).1( 1

Page 11: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

11

State = Working

Shop: CalculateTotalPrice()

Page 12: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

12

State = partiallyWorking

Shop: receiveOrder()

Page 13: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

13

State = notWorking

Shop: receiveOrder()

Page 14: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

14

Reconfiguration (1/2)

• New plan for reconfiguration • Substitution of a service

• Substitution of an operation

• 1 plan= 1 sql-request• INSERT INTO PLAN SET SERVICE=“old_wsdl_address”,

ACTION=“old_operation”,REALSERVICE=“new_wsdl_address”, REALACTION=“new_Operation”;

Page 15: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

15

Reconfiguration (2/2)

New deployment machine

Requester Shop SUP WH New-WH

Invocation of the operation (Red rectangle) is rerouted towards a New-WH on the new deployment computer

Before substitution

After substitution

Page 16: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

Summary (1/2): QoS prototype implementation

• Prototype V1: [IEEE ISWS/WETICE’07]• SOAP-level management:

• Dynamic connector-based architecture

• Prototype V2: [ICEIS’08]• HTTP Proxy : Monitoring and Reconfiguration

• Integrated and experimented with the FoodShop WS-based application

• May be adapted for other WS-based applications

• QoS analysis & Graphical monitoring window• Draw application WSs interaction and show status• Applied to the FoodShop application log• May be integrated with other loggers (like UNITO log)

16

Page 17: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

Summary (2/2): QoS-related studies and models

• Algorithms and frameworks:• Local/Global detection algorithms of QoS

degradation [IEEE ICADIWT’08]• Reconfiguration algorithm and framework: [IEEE

ICWS’08]

• Models• Degradation detection and source identification

chronicles [D3.2]• Hidden Markovian Model for QoS-based estimation

of WS status [ICEIS’08]• Self-healing ontology [DMVE/DEXA’08]

17

Page 18: Riadh BEN HALIMA & Khalil DRIRA LAAS-CNRS WS-DIAMOND final review, Torino, 19 September 2008 QoS Prototype

References

• [IEEE ISWS/WETICE’07]• Riadh Ben Halima, Mohamed Jmaiel, and Khalil Drira. A QoS-driven reconfiguration

management system extending Web services with self-healing properties.• [D3.2]

• Specification of execution mechanisms and composition strategies for self-healing Web services. Phase 2

• [IEEE ICADIWT’08]• Riadh Ben Halima, Karim Guennoun , Mohamed Jmaiel, and Khalil Drira. Non-

intrusive QoS Monitoring and Analysis for Self-Healing Web Services.• [IEEE ICWS’08]

• Riadh Ben Halima, Mohamed Jmaiel, and Khalil Drira. A QoS-Oriented Reconfigurable Middleware For Self-HealingWeb Services

• [ICEIS’08]• René Pegoraro, Riadh Ben Halima, Khalil Drira, Karim Guennoun, and Joao Mauricio

Rosrio. A framework for monitoring and runtime recovery of web service-based applications.

• [DMVE/DEXA’08]• O. Nabuco, R. Ben Halima, K. Drira, M.G. Fugini, S. Modafferi, and E. Mussi. Model-

based QoS-enabled self-healing Web Services.

18