FIDS-Fault Injection In Distributed System


Project Summary

Team Members

Advisors/Guides

Milestones/Project-Plan

References/Research

Project Documents

Contact Us

Failure Simulator for Validating High Availability of a Distributed System  by Students of

Walchand Institute Of Technology, Solapur. Maharashtra.


ABSTRACT

Ensuring that a distributed system meets its prescribed specification is a growing challenge that confronts software developers and the system engineers. Meeting this challenge particularly important for application with strict dependability and timeliness constraints.Fault injection is a phase covering a variety of techniques for inducing faults in systems to measure their response to those faults. Fault injection is best used as a means for measuring the fault tolerance or robustness of a system. Software testig is a critical element of software quality assurance and represents the ultimate review of specification, design and coding. Fault injection systems provides the test case designs to the software engineers. These systems tests the performance or behavior of the newly designed softwares with the desired targets.

This system provides such type of facility for testing the netowrk related applications. This software simulates different faults in the network and shows to the application servers and clients that a fault has occurred in the system.

Input to the system is in the form of script which contains sequence of errors which are to be introduced in the Distributed system under consideration. The tester writes such a test script and gives this file to the Controller. Controller then interprets this script and send error messages to the Agents. Agent is a background process running on the terminal of the Distributed system which participates in the testing. This Agent receives the message and injects the fault on that terminal.

Once the error script is written, this error script can be repeatedly used to  produce same kind of situation. This will reduce testing time.

This system supports error plug-ins so that one can add new error types to this system depending on there needs

This system currently support following types of errors

  1. Process
    1. Start 
    2. Kill
    3. Pause
  2. Host
    1. Shutdown
    2. Reboot
    3. Hang
    4. CPU Utilization.
  3. Network
    1. Link down
    2. Network Congetion.