SIMULATING ERRORS IN WEB SERVICES International Journal of Simulation: Systems, Sciences and Technology 2004 Nik Looker, Malcolm Munro and Jie Xu.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
Programming Paradigms and languages
R2: An application-level kernel for record and replay Z. Guo, X. Wang, J. Tang, X. Liu, Z. Xu, M. Wu, M. F. Kaashoek, Z. Zhang, (MSR Asia, Tsinghua, MIT),
RPC Robert Grimm New York University Remote Procedure Calls.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Remote Procedure Call Design issues Implementation RPC programming
Software Fault Injection for Survivability Jeffrey M. Voas & Anup K. Ghosh Presented by Alison Teoh.
Tam Vu Remote Procedure Call CISC 879 – Spring 03 Tam Vu March 06, 03.
Distributed Object & Remote Invocation Vidya Satyanarayanan.
GridRPC Sources / Credits: IRISA/IFSIC IRISA/INRIA Thierry Priol et. al papers.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
1 ITC242 – Introduction to Data Communications Week 12 Topic 18 Chapter 19 Network Management.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Software Fault Injection Kalynnda Berens Science Applications International Corporation NASA Glenn Research Center.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
.NET Mobile Application Development Remote Procedure Call.
DISTRIBUTED COMPUTING
Software Process and Product Metrics
Check Disk. Disk Defragmenter Using Disk Defragmenter Effectively Run Disk Defragmenter when the computer will receive the least usage. Educate users.
UNIT-V The MVC architecture and Struts Framework.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
ANSTO E-Science workshop Romain Quilici University of Sydney CIMA CIMA Instrument Remote Control Instrument Remote Control Integration with GridSphere.
GT Components. Globus Toolkit A “toolkit” of services and packages for creating the basic grid computing infrastructure Higher level tools added to this.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Lecture 15 Introduction to Web Services Web Service Applications.
Architecting Web Services Unit – II – PART - III.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 2: Operating-System Structures Operating.
ARMADA Middleware and Communication Services T. ABDELZAHER, M. BJORKLUND, S. DAWSON, W.-C. FENG, F. JAHANIAN, S. JOHNSON, P. MARRON, A. MEHRA, T. MITTON,
Remote Procedure Calls Adam Smith, Rodrigo Groppa, and Peter Tonner.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
Processes and Threads Processes have two characteristics: – Resource ownership - process includes a virtual address space to hold the process image – Scheduling/execution.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Application code Registry 1 Alignment of R-GMA with developments in the Open Grid Services Architecture (OGSA) is advancing. The existing Servlets and.
Middleware for FIs Apeego House 4B, Tardeo Rd. Mumbai Tel: Fax:
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
Control Systems Design Part: FS Slovak University of Technology Faculty of Material Science and Technology in Trnava 2007.
Quality of System requirements 1 Performance The performance of a Web service and therefore Solution 2 involves the speed that a request can be processed.
 Remote Procedure Call (RPC) is a high-level model for client-sever communication.  It provides the programmers with a familiar mechanism for building.
Chapter 6 Introduction to Defining Classes. Objectives: Design and implement a simple class from user requirements. Organize a program in terms of a view.
Fault Tolerance Benchmarking. 2 Owerview What is Benchmarking? What is Dependability? What is Dependability Benchmarking? What is the relation between.
JS (Java Servlets). Internet evolution [1] The internet Internet started of as a static content dispersal and delivery mechanism, where files residing.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Application Communities Phase II Technical Progress, Instrumentation, System Design, Plans March 10, 2009.
Application of Fault Injection to Globus Grid Middleware Nik Looker & Jie Xu University of Leeds, Leeds. LS2 9JT, UK Tianyu Wo & Jinpeng Huai Beihang University,
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Improving the Reliability of Commodity Operating Systems Michael M. Swift, Brian N. Bershad, Henry M. Levy Presented by Ya-Yun Lo EECS 582 – W161.
1 Reconfigurable Environment for Analysis and Test of Software Systems Sam Martin REATSS.
Pinpoint: Problem Determination in Large, Dynamic Internet Services Mike Chen, Emre Kıcıman, Eugene Fratkin {emrek,
Interstage BPM v11.2 1Copyright © 2010 FUJITSU LIMITED INTERSTAGE BPM ARCHITECTURE BPMS.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
1 Presented by Tom Hempler August 11, 2014 NASA IV&V.
Non Functional Testing. Contents Introduction – Security Testing Why Security Test ? Security Testing Basic Concepts Security requirements - Top 5 Non-Functional.
Distributed Web Systems Distributed Objects and Remote Method Invocation Lecturer Department University.
Object Interaction: RMI and RPC 1. Overview 2 Distributed applications programming - distributed objects model - RMI, invocation semantics - RPC Products.
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Integrating HA Legacy Products into OpenSAF based system
Architecting Web Services
Architecting Web Services
Chapter 19: Architecture, Implementation, and Testing
The Application Lifecycle
Fault Tolerance Distributed Web-based Systems
Introduction to Web Services and SOA
Presentation transcript:

SIMULATING ERRORS IN WEB SERVICES International Journal of Simulation: Systems, Sciences and Technology 2004 Nik Looker, Malcolm Munro and Jie Xu

Outline Introduction Quality of Service Fault Injection Fault Model Test Case Conclusion and Future Work

Introduction Web Service technology is a key factor in the success of any e-Science or e-Commerce project. High Quality of Service (QoS) to allow the production of highly reliable systems. Fault injection is a well-proven method of assessing the dependability of a system

Introduction This fault injection method is a modified version of Network Level Fault Injection. This method differs from standard Network Level Fault Injection techniques Fault injector decodes the SOAP messages and can inject meaningful faults into a message This enables API-level parameter value modification to be performed as well as standard Network Level Fault Injection.

Quality of Service Availability  the quality aspect of whether a Web Service is present and ready for use. Accessibility  the quality aspect that represents the degree the Web Service is capable of servicing a request. Integrity  the quality of the Web Service maintaining the correctness of any interaction. Performance  the quality aspect that is defined in terms of the throughput of a Web Service and the latency.

Quality of Service Reliability  the quality aspect that represents the capability of maintaining the service and service quality. Regulatory  the quality aspect that the service corresponds to rules, laws, standards and specifications. Security  the quality aspect that defines confidentiality for parties using a service

Fault Injection Techniques Network Level Fault Injection  Corruption, loss or reordering of network messages at the network interface.  Runtime injection technique that injects faults into captured network packets.  Software Implemented Fault Injection (SWIFI) instrumenting the operating system protocol stack Perturbation  Modify program states without mutating existing code statements.  testing fault tolerance mechanisms

Fault Injection Techniques Corruption of Memory Space  Platform Specific Code Mutation  Certification Problems because code changed Syscall Interposition  Platform Specific

Fault Injection Tools Ferrari (Fault and Error Automatic Real-Time Injection)  uses a system based around software traps to inject errors into a system.  traps are activated by either a call to a specific memory location or a timeout. FTAPE (Fault Tolerance and Performance Evaluator)  inject faults into memory, registers and disk accesses

Fault Injection Tools Xception  processor’s exception handling capabilities are used to trigger fault injection. DOCTOR (IntegrateD sOftware Fault InjeCTiOn EnviRonment)  allows injection of memory and register faults, and network communication faults.  combination of timeout, trap and code modification.

Fault Injection Tools Orchestra  a script driven fault injector which is based around Network Level Fault Injection.

WS-FIT Web Service – Fault Injection Technology Method and tools implement mechanism of fault injection and also provide a framework for the creation and execution of test cases Fault injector that allows network level fault injection Dependability Assessment of SOAP based SOA  SOAP Based  WSDL Defined Interfaces  Combined with conventional specification

Fault Model Fault Types that can effect a SOAP based system:  Physical Faults Effecting memory or processor registers  Software Faults Programming errors and design errors  Resource Management Faults Memory leakage and exhaustion of resource  Communication Faults Message deletion, duplication, delay, reordering or corruption  Life-Cycle Faults Premature object destruction through starvation of keep-alive messages and delayed asynchronous responses

Enhanced Fault Model

Failure Modes Crash of a service Crash of a hosting web server (or the host itself) Hang of a service Corruption of input data Corruption of output data Duplication of messages Omission of messages Delay of messages

Why WS-FIT testing? Particularly interested in  Assessing Quality of Service  Assessing Fault Tolerance of Systems  Developing Methods and Tools So that we can  Detect defects in platform code and design  Gather dependability metrics on platforms to allow comparisons  Use WS-FIT to test individual Web Services

WS-FIT Consists of 3 parts:  Hook code in SOAP Library  Fault Injector Framework  Script Trigger Injection Results

SOAP API Hooks  One for sending messages.  One for receiving messages. Hooks consisted of simple socket code  To pass messages to fault injector.  Receive (possibly) modified message from injector.

Instrumenting a Service

What the Framework Provides Logging Function (XML format for easy analysis)  Detects faults and logs faults  Logs injected fault packets Trigger and Injection mechanism:  Trigger on Message Type and parameter.  Inject Fault through User Script. Implemented  Framework implemented in Java for portability  Scripts implemented in Python Executed in the JVM by Jython

User Script Result class  One instance of this for duration of test.  Used to store static results.  Currently only tag count but will be enhanced in later experiments. Trigger Class  One instance per packet.  Returns Boolean value to indicate if injector class should be run.  Use data from result class to determine if the correct point in message stream has been reached. Injector Class  One instance per packet  Inject fault into packet

WS-FIT

GUI The GUI provides  An easy to use environment to create and execute tests  Ability to create a skeleton test script from WSDL definitions  Populate tests through user defined Fault Model  Execution of test scripts from tool  Real-time visualization of RPC message parameters

Quality of Service Experiment to demonstrate WS-FIT can be used to assess QoS criteria WS-FIT will be used to modify the performance of a system by injecting a latency (without code modification being required)

Test Scenario The test system implements a simple, self regulating, heater unit. The hardware used is simple and relies on the software drivers to prevent failure states being reached. Under normal operation the ‘Unit’ will give a logarithmic temperature rise so the Controller uses timers to modify to a linear temperature rise. Will be used in a chemical experiment  A substance must be heated to 60°C  Must reach 60ºC in a specified period of time  Must have a linear temperature rise The test will introduce a latency to decrease the throughput and hence the performance of the system.

Test System

Natural Operation of Heater

Model

Applying a Fault Model to a Parameter

Injecting Latency

Summary WS-FIT can be effectively used to:  Introduce SOAP protocol faults Introduce both random and non-random protocol faults  Assess Quality of Service Such as throughput modification WS-FIT  Relatively non-invasive  Can be used to assess both middleware and individual services  Gives real-time feedback through visualization of RPC parameters